home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Powervisor v1.10b disk1.adf / s / PowerVisor-help < prev    next >
Text File  |  1991-09-30  |  171KB  |  5,932 lines

  1. @General commands
  2. ----------------
  3. Help        : obvious                  Quit        : quit powervisor
  4. Void        : do nothing               HOld        : hold powervisor
  5. Disp        : display expression       Refresh     : control refresh rate
  6. PRint       : print string             CLEANup     : deallocate pv-memory
  7. VArs        : show all variables       SHowalloc   : show all pv-memory
  8. REMVar      : remove variables         LOG         : log output
  9. ATtach      : attach macro to key      TO          : log output from command
  10. REMAttach   : remove command from key  SAVEConfig  : save config file
  11. SCAn        : ask input from user      PREfs       : set powervisor prefs
  12. GEtstring   : ask input from user      MOde        : set preferences
  13. REQSave     : save file requester      ERror       : get error string
  14. REQLoad     : load file requester      ALias       : set an alias
  15. REQuest     : requester                UNALias     : remove an alias
  16. LEd         : toggle powerled
  17.  
  18. Screen commands
  19. ---------------
  20. CLs         : clear logical window     SCREen      : move pv to screen
  21. LOCAte      : location in logical win  SIze        : size physical window
  22. HOMe        : go to top location       MOVe        : move physical window
  23. COLRow      : set logical size         SETfont     : set logical window font
  24. FIT         : fit logical window       Xwin        : open/close Extra window
  25. Active      : make logwin active       RWin        : open/close Refresh window
  26. CURRent     : set current logical win  DWin        : open/close Debug window
  27. ON          : on logical window do     AWin        : open/close Rexx window
  28. COLor       : set rgb value for pv     OWin        : open/close PPrint window
  29. CLOSELw     : close logical window     OPENLw      : open logical window
  30. CLOSEPw     : close physical window    OPENPw      : open physical window
  31. SETFLags    : set logwin flags         SCROll      : scroll logical window
  32.  
  33. Memory commands
  34. ---------------
  35. Search      : search string            Copy        : copy memory
  36. Next        : continue searching       Fill        : fill memory with string
  37. CLEar       : clear unused memory
  38.  
  39. Special commands
  40. ----------------
  41. ACCount     : task usage, stack check  STAck       : check stack usage
  42. Kill        : cancel a task            REMRes      : remove resident
  43. FReeze      : freeze a task            REMHand     : remove input handler
  44. UNFreeze    : unfreeze a task          REMCrash    : remove a crash node
  45. TASKPri     : set task priority        REMOve      : remove a node
  46. OWNer       : show owner of memory     UNLOCk      : unlock
  47. CLOsewindow : close a window           PAthname    : show pathname for lock
  48. CLOSEScreen : close a screen           CUrdir      : set current dir
  49. ADdfunc     : add function to monitor  LOADFd      : load an fd-file
  50. REMfunc     : remove function          UNLoadfd    : unload fd-file
  51. RBlock      : read a block from disk   LOAd        : load a file
  52. WBlock      : write a block to disk    SAve        : save a file
  53. Opendev     : open device              SPEEk       : peek supervisor
  54. CLOSEDev    : close device             SPOke       : poke supervisor
  55. DEVInfo     : device information       MMURESet    : reset MMU usage
  56. DEVCmd      : give device command      GO          : jump to memory
  57. FOR         : for each element in list PVcall      : call PowerVisor
  58. SPRint      : print on serial terminal EVent       : add an input event
  59.  
  60. Debug commands
  61. --------------
  62. DEBug       : control debugtasks       DScroll     : scroll debug window
  63. DUse        : set debug program        DSTart      : set debug window start
  64. WITh        : with debug node do       DRefresh    : refresh debug display
  65. Break       : set breakpoint           SYmbol      : control symbol table
  66. TRace       : trace program
  67.  
  68. Information commands
  69. --------------------
  70. MMutree     : show mmu tree            LList       : traverse list
  71. MMURegs     : show mmu registers       List        : list item
  72. MMUWtest    : test address for write   Info        : node information
  73. MMURTest    : test address for read    Memory      : list memory
  74. SPecregs    : show special registers   VIew        : show memory
  75. DEVInfo     : device information       TAGs        : show tags
  76. LIBInfo     : show lib function info   ADDTag      : add a tag
  77. LIBFunc     : show lib function info   REMTag      : remove a tag
  78. Gadgets     : list window gadgets      CHecktag    : check address in tag
  79. ADDStruct   : add structure defs       LOADTags    : load tags from file
  80. REMStruct   : remove structure def     SAVETags    : save tags to file
  81. CLEARStruct : clear structure defs     CLEARTags   : clear tags
  82. INTErprete  : interprete structure     USetag      : set current tag list
  83. REGs        : show registers of task   TG          : temporarily set tag list
  84. MEMTask     : show memory of a task    Unasm       : unassemble memory
  85. HUnks       : show hunks for process
  86.  
  87. Script commands
  88. ---------------
  89. SCRIpt      : start script             RESIdent    : make file resident
  90. RX          : start rexx script        UNResident  : remove resident file
  91.  
  92. ARexx commands
  93. --------------
  94. SYNc        : synchronize pv to ARexx  HIde        : hide output
  95. ASYnc       : undo SYNC command        UNHide      : undo HIDE command
  96. FROnt       : pv screen to front       CLIp        : set/get clip
  97. ASsign      : assign to var            REMCLip     : remove clip
  98. STRIng      : return string
  99.  
  100. List commands (type 'help syslists' for info)
  101. -------------
  102. Exec  INTb  Task  LIBs  DEvs  RESO  MEMR  INTR  Port  Wins  ATTC  GRaf  COnf
  103. SCrs  FOnt  DOsd  FUnc  SEMa  RESm  FILS  LOck  IHan  FDfi  CRsh  DBug  MONi
  104. PUbs  STru  LWin  PWin
  105. ===
  106. @PowerVisor help (1.10 Beta)    Mon Sep 30 09:15:24 1991
  107. ---------------------------
  108. You can type one of the following for more information on a specific
  109. item:
  110.  
  111.       help                 for this screen
  112.       help general         for general information
  113.  
  114.       help commands        for a list of all available commands
  115.       help functions       for a list of all available functions
  116.       help syslists        for a list of all available lists
  117.       help <command>_cmd   gives help for a specific command
  118.       help <command>_tmp   gives a command template (or <command> ?)
  119.       help <function>_func gives help for a specific function
  120.       help <list>_list     gives help for a specific list
  121.  
  122.       help arguments       gives help for all possible argument types
  123.       help libfuncs        information about library functions
  124.       help bugs            for all bugs in the current version
  125.       help debugging       for general debugging help
  126.  
  127. You can use abbreviations ('h gen' instead of 'help general')
  128. Note that you could get the wrong help when you do this.
  129. ('help li' will probably not give what you wanted: list, libfuncs, ...)
  130. ===
  131. @General functions
  132. -----------------
  133. ALLOC       : allocate memory          LASTMEM     : give last memory
  134. FREE        : free memory              LASTBYTES   : last number of bytes
  135. REALLOC     : reallocate memory        LASTLINES   : last number of lines
  136. GETSIZE     : give size of memoryblock LASTFOUND   : last search address
  137. ISALLOC     : is memory a pv-block ?   PEEK        : peek value in structure
  138. KEY         : returns pressed key      APEEK       : peek address
  139. QUAL        : qualifier for last key   STSIZE      : get structure size
  140. GETCOL      : get logical col width    RFCMD       : refresh command
  141. GETROW      : get logical row height   RFRATE      : refresh rate
  142. TOPPC       : get debug win top pc     GETLWIN     : current logical window
  143. BOTPC       : get debug win bottom pc  GETACTIVE   : ask active logwin
  144. ISBREAK     : check if breakpoint      TAGLIST     : get current tag list
  145. GETDEBUG    : get current debug ptr    EVAL        : evaluate argument string
  146. GETX        : get the current x coord  IF          : conditional evaluation
  147. GETY        : get y coord              CURLIST     : current list
  148. GETCHAR     : get the current char     COLS        : get max nr of cols
  149. GETERROR    : get error of routine     LINES       : get max nr lines
  150. BASE        : get first listelem
  151. GETSTACK    : get max stack usage
  152. ===
  153. @Help arguments
  154. --------------
  155. There are two basic types for command arguments:
  156.  
  157.    - integers     : The command expects an integer
  158.    - strings      : The command expects a string
  159.  
  160. Other help: integers strings expressions
  161.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  162. ===
  163. @Help integers
  164. -------------
  165. The following are possible integers :
  166.  
  167.  
  168. decimal integers:
  169.       567, 1920003, ...
  170.    Integers are 32 bits.
  171.  
  172. hexadecimal integers:
  173.       034, $98f, $FA802, ...
  174.    These start with a zero or a '$'
  175.  
  176. expressions:
  177.       (5+5), 1+27*(1-2)
  178.  
  179. string pointers:
  180.       "test", "test2 \10\F4\DD end\05", ...
  181.    Please note that these strings only exist for a limited period. PowerVisor
  182.    only remembers the 10 last strings and string pointers.
  183.    If you want to use a string permanently, you must allocate memory for
  184.    it, and copy the string to this place. (type 'help permstring' for an
  185.    example)
  186.    When evaluating a string you get a pointer to this string.
  187.    For example "test"+2 points to 's'. A string pointer is in fact
  188.    just another integer.
  189.  
  190. strings and names:
  191.       a, var, exec, output(), ...
  192.    There are four cases where you may use a string as an integer.
  193.  
  194.       - The name is a variable or function
  195.         (no quotes, case insensitive, no abbreviations)
  196.             a
  197.             error
  198.             debug()
  199.  
  200.       - The name is a library function you have loaded
  201.         (no quotes, case insensitive, no abbreviations)
  202.             output()
  203.  
  204.       - the name is an abbreviation for an element in the current list
  205.         (quotes possible, case insensitive, abbreviations possible)
  206.             trackdisk
  207.             'trackdisk.dev'
  208.  
  209.       - the name is a symbol for the current debug task
  210.         (quotes possible, case sensitive, no abbreviations)
  211.             __main
  212.             '@XCEXIT'
  213.  
  214.    When you use a string as an integer, PowerVisor will first check if
  215.    it is a variable. If it is not a variable it will check if it is
  216.    a symbol. If that is not the case it will check if it is an
  217.    abbreviation for an element in the current list.
  218.    If you use single quotes for the name, PowerVisor will skip the
  219.    variable testing and only test if it is a symbol or a list element.
  220.    If you use the ':' operator in front of the name, PowerVisor will
  221.    only test if it is a list element.
  222.  
  223. You can mix all these integers whenever you want and for each command
  224. that wants an integer as an argument. You can use them in expressions
  225.  
  226. Other help: expressions syslists libfuncs permstring strings
  227.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
  228. ===
  229. @Help strings
  230. ------------
  231. A string is not the same as a string pointer. A string pointer is in fact
  232. an integer. A string can also be an integer. This interpretation depends
  233. on the command. Strings and names can be mixed.
  234.  
  235. You can use all characters in a string when you enclose the string in
  236. quotes (single or double). Otherwise you are limited to alphanumeric
  237. characters and the underscore.
  238.  
  239. You can in any case use the quote operator ('\') (even if you used
  240. no quotes) in three ways.
  241.    - When followed by 2 hexadecimal digits, the
  242.      operator is replaced by the character represented by the two
  243.      hexadecimal digits.
  244.    - When followed by a left bracket '(', the character representation of
  245.      the following expression is put in the string. After the expression
  246.      you can close with the right bracket ')' or you can use an optional
  247.      format string (C-style) to format the number. Using this format string
  248.      you can even interprete the number as a character or a string.
  249.    - When followed by another character, the character is simply copied.
  250.      This is useful to include quotes and the quote operator in strings.
  251.  
  252.    'string'          is a string
  253.    string            is a name
  254.    "string pointer"  is a string pointer but can be used as a string when
  255.                      the command expects a string
  256.    'test\20hello'    is equal to 'test hello'
  257.    'test\\hello'     is equal to 'test\hello'
  258.    'test\'hello'     is equal to 'test'hello'
  259.    'test\"hello'     is equal to 'test"hello'
  260.    test\'            is equal to 'test'' (note that you don't need the
  261.                      quotes)
  262.    'Test\(3+4)hello' is equal to 'test7hello'
  263.    '\(65,%lc)'       is equal to 'A'
  264.    5+6               is also a string if the command expects a string
  265.  
  266. You can use the \(<number>,%s) operator if you want an integer to behave
  267. like a string.
  268. For example, when p points to a region of memory containing the string
  269. 'exec'. Then the command 'list \(p,%s)' will list the execbase.
  270. You cannot only use the '\' operator if the command really expects a string.
  271. 'disp \(p,%s)' is illegal.
  272.  
  273. Other help: integers list syslists quote_op strongquote_op
  274.             ¯¯¯¯¯¯¯¯ ¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  275. ===
  276. @Help expressions
  277. ----------------
  278. PowerVisor has a very powerfull expression evaluator. If you know C you will
  279. probably notice the resemblance. The same priorities as used in C are used
  280. in PowerVisor.
  281.  
  282. You can use the following binary operators. The list is from high to
  283. low priority :
  284.  
  285.    * / %             multiply, integer divide, remainder
  286.    + -               add, subtract
  287.    << >>             left shift, right shift
  288.    > < >= <=         integer comparisons
  289.    != ==             not equal to, equal to
  290.    &                 bitwise and
  291.    ^                 bitwise xor
  292.    |                 bitwise or
  293.    &&                logical and
  294.    ||                logical or
  295. You can use the following unary operators:
  296.    -                 negation
  297.    !                 logical not
  298.    ~                 bitwise not
  299.    *                 contents operator
  300.    @                 special operator
  301.    \                 quote operator (only for strings)
  302.    :                 list operator
  303.    &                 list address operator
  304. And you can of course use brackets
  305.  
  306. Examples:
  307.    1<<(6+4*(10/2))            is equal to 67108864 (or 1<<26)
  308.    libs:'exec.library'+$10    is equal to the address of ExecBase pluss 16
  309.    *devs:audio.l              is equal to the contents of the first longword
  310.                               pointed to at the start of the audio.device
  311.                               node. (This is the next device node or ln_succ)
  312.    output()                   is equal to the BPTR to your outputhandle
  313.                               (you must have loaded dos functions to do
  314.                               this)
  315.    {disp 4}                   is equal to 4 ('disp' is executed)
  316.    @d1                        is equal to the register d1 of the current
  317.                               debug task
  318.  
  319. Note that you cannot use spaces in expressions. Spaces (and ',') are used
  320. to separate expressions. If a command expects two arguments you can use a
  321. space or a comma to seperate them.
  322. When you are at the end of an expression, you need not close your brackets.
  323. You MUST close the brackets when you want to terminate the argument list
  324. for a library function or a normal function.
  325.  
  326. Other help: contents_op list_op special_op listaddr_op
  327.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  328.             disp_cmd debugging libfuncs integers strings variables
  329.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  330.             group_op quote_op
  331.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  332. ===
  333. @Help variables
  334. --------------
  335. PowerVisor has the capability to store an integer in a variable.
  336. You can use variablenames of arbitrary length and as many variables as
  337. you wish.
  338. A variablename must start with a letter or an underscore. You can use digits
  339. in the rest of the name.
  340.  
  341. Examples:
  342.    a5=4
  343.    a5=a5+1
  344.    outputhandle=output()
  345.    nc=write(outputhandle,"testing",7)
  346.    _test_=00C02536
  347.  
  348. There are 5 reserved variables:
  349.    'mode'
  350.       This variable contains the current mode settings. Changing this variable
  351.       has more or less the same effect as using the 'mode' command
  352.    'rc'
  353.       This variable contains the returncode for some commands. You may use
  354.       'rc' for your own purposes but you must remember that certain commands
  355.       change this variable
  356.    'version'
  357.       The current PowerVisor version. You can not change this constant
  358.       ($110 = 1.10)
  359.    'error'
  360.       The last error number
  361.    'input'
  362.       A pointer to the last input string entered with 'scan', 'getstring'
  363.       'reqload' or 'reqsave'. You can't change this constant
  364.  
  365. PowerVisor has four variable types.
  366.    0 : normal variables, you can create these with the assignment operator.
  367.    1 : constant variables, only PowerVisor can create these.
  368.    2 : special variables, only PowerVisor can create these.
  369.    3 : functions.
  370.  
  371. It is recommended that you use the following name convention for your
  372. variables:
  373.    single letter variables for temporary variables.
  374.    multiple letter variables for more permanent uses.
  375.    names starting with an underscore ('_') for internal script use.
  376. This convention is especially useful in scripts. For example, you should
  377. not use multiple letter variables in scripts except in special cases.
  378. It is good programmer practice to always remove all used variables in
  379. a script ('remvar').
  380.  
  381. Other help: assignment_op mode_cmd vars_cmd remvar_cmd
  382.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  383. ===
  384. @Help assignment_op
  385. ------------------
  386. The assignment operator is used to store an integer in a variable or in
  387. memory.
  388.  
  389. Left from the assignment you can put a variable, a register or an
  390. contents operator. The variable will be created if it does not
  391. exist. In order to use register assignment you must have a current
  392. debug task.
  393.  
  394. Examples:
  395.    ad=alloc(n,100)            Allocate 100 bytes memory
  396.    *ad=5                      Put long integer 5 at our newly allocated
  397.                               memory
  398.    *(ad+5).b=50*2             Put byte 100 at address ad+5
  399.    *ad.w=*(ad+2).w            Copy the 2nd word to the first word
  400.    @d1=4                      Assign 4 to register d1 of the current
  401.                               debug task
  402.  
  403. Other help: variables libfuncs expressions debugging alloc_func
  404.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  405. ===
  406. @Help contents_op
  407. ----------------
  408. The contents operator is used to get the contents of an address.
  409. You can also use this operator at the left side of an assignment.
  410.  
  411.  
  412. Examples:
  413.    *4       is the contents of address 4 as a long (this is execbase)
  414.    *4.l     is the same
  415.    *4.w     is the contents of address 4 as a word
  416.    *4.b     is the contents of address 4 as a byte
  417.    **4      is the contents of the contents of address 4 (both as long)
  418.    *5       will give an odd address error (you will not crash)
  419.  
  420. Other help: expressions
  421.             ¯¯¯¯¯¯¯¯¯¯¯
  422. ===
  423. @Help list_op
  424. ------------
  425. The list operator is used to address an element of a specific list.
  426.  
  427. Examples:
  428.    libs:exec         is the pointer to exec library
  429.    li:ex             is probably the same (unless you have another library
  430.                      beginning with 'ex')
  431.    task:'trackdisk.device'
  432.                      is a pointer to the trackdisk device
  433.    task:'trackdisk.d'
  434.                      is probably the same
  435.    :input            will give the pointer to the input.device if the
  436.                      current list is the task list
  437.  
  438. When 'libs' is the current list (for example) you can also type the
  439. following to obtain the pointer to the exec library.
  440.    exec or 'exec.library'
  441.  
  442. Some command use the 'autodefault' feature.
  443.  
  444. When you want to be absolutely sure that the string evaluates to a
  445. list element and not to a variable or such, you can use the ':' operator
  446. without a preceding list name.
  447.    :'trackdisk.device'
  448.  
  449. Other help: syslists expressions strings listaddr_op autodefault
  450.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  451. ===
  452. @Help listaddr_op
  453. ----------------
  454. The list address operator is used to obtain the address of an element
  455. in a list. This list must be the execbase, grafbase or intuitionbase list.
  456. This operator is provided as a clumsy interface to change something to
  457. a variable in one of the library bases. In future this interface may
  458. be cleaner.
  459.  
  460. Examples:
  461.    &exec:vblankfreq  is the pointer to the VBlankFrequency variable in
  462.                      the exec library
  463.    &e:Quantum        is the pointer to the Quantum variable in the exec
  464.                      library
  465.  
  466. Example:
  467.    *&e:quantum.w=20  will change the quantum variable to 20.
  468.  
  469. Other help: syslists expressions strings list_op assignment contents_op
  470.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  471. ===
  472. @Help libfuncs
  473. -------------
  474. PowerVisor gives you the ability to execute library functions.
  475. Therefore you must first load the fd-file for the library you want to
  476. call.
  477.  
  478. Example:
  479.    output()       calls the dos function output (no arguments)
  480.    write(output(),"test",4)
  481.                   writes the string 'test' to the current output.
  482.    a=allocmem(1000,1<<16)
  483.                   allocates memory and put the address in the variable 'a'
  484.    ib=openlibrary("intuition.library",0)
  485.                   opens the intuition library
  486.  
  487. The order in which the arguments appear are the same as in C (or as specified
  488. in the fd-file).
  489.  
  490. You must use the notation described above as an argument for a command
  491. (because it is an expression). If you are not interrested in the result of a
  492. library function you still have to preceed it with a command. Simply use the
  493. 'disp' command.
  494.  
  495. Example:
  496.    disp output()
  497.  
  498. If you don't want to load the fd-file you can call library functions with:
  499.    offs lib:exec -30 ()
  500. You can not use arguments when using this notation
  501.  
  502. Other help: loadfd_cmd disp_cmd expressions
  503.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  504. ===
  505. @Example permstring
  506. ------------------
  507. When you use a string pointer ('"'<bytes>'"'), this string only exists during
  508. the lifetime of the current command. This could cause problems.
  509.  
  510. Example:
  511.    if you use
  512.  
  513.       void setwindowtitles(win:'test window',"window title",0)
  514.  
  515.    to set the window title for 'test window' it will work at first.
  516.    But when you use another string at a later time you will notice that
  517.    your window will get another title (mostly rubbish).
  518.    To prevent this from happening you must allocate some memory for
  519.    this string.
  520.  
  521.    You can do this is as follows:
  522.       loadfd intuition fd:intuition_lib.fd
  523.       ad=alloc(s,'window title')
  524.       void setwindowtitles(win:'test window',ad,0)
  525.       ...
  526.    Later you can free this title with:
  527.       void free(ad)
  528.  
  529. Other help: loadfd_cmd alloc_func void_cmd variables libfuncs strings
  530.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
  531. ===
  532. @Help quote_op
  533. -------------
  534. To include integers, characters and strings in a string you can use
  535. the quote operator.
  536.  
  537. \<x><x> is equal to a character. <x> is one hexadecimal digit
  538.  
  539. \(<expression>) is equal to the string representing the result of
  540.                 the expression
  541.  
  542. \(<expression>,<format>) is equal to the string representing the
  543.                 result of the expression formatted by <format>
  544.                 <format> is a C-style formatting string
  545.  
  546. \<other char> is equal to <other char>
  547.  
  548.  
  549. Example:
  550.  
  551.    test\0a\\\'          is equal to test<newline>\'
  552.    test\(5+6)hello      is equal to test11hello
  553.    test\(65,%lc)hello   is equal to testAhello
  554.    test\("hello",%s)    is equal to testhello
  555.    test\(6+7,%03ld)     is equal to test013
  556.  
  557. Other help: strings strongquote_op
  558.             ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  559. ===
  560. @Help strongquote_op
  561. -------------------
  562. In some rare cases it is possible that you want to quote a lot of
  563. characters without having to worry about anything at all. This is
  564. (almost) possible with the strong quote (· = <alt>+8).
  565.  
  566. The character directly after the strong quote is the character
  567. used to recognize the end of the strong quote operator.
  568.  
  569. ·<char> All chars of all different kinds <char>
  570.  
  571. The only character you can't use is the one needed to close the
  572. strong quote operator (<char>).
  573.  
  574.  
  575. Example:
  576.  
  577.    Test·/ ('){}])' ((''\\\\'(/TheEnd
  578.  
  579.       is equal to
  580.  
  581.    Test( ('){}])' ((''\\\\'(TheEnd
  582.  
  583. Other help: strings quote_op
  584.             ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  585. ===
  586. @Help syslists
  587. -------------
  588. PowerVisor uses lists to give the user the possibility to examine system
  589. information.
  590. The following lists are available:
  591.  
  592.    Exec        the listing of the ExecBase structure (no list operator
  593.                possible)
  594.    Intb        IntuitionBase structure (no list op possible)
  595.    Graf        Graphics base structure (no list op possible)
  596.    Task        The listing of the tasks in the system (default list)
  597.    Libs        Libraries
  598.    Devs        Exec-devices
  599.    Reso        Resources
  600.    Memr        Memory list
  601.    INTR        Interrupts
  602.    Port        Message ports
  603.    Wins        All windows
  604.    Scrs        Screens
  605.    Font        Fonts currently in memory
  606.    DOsd        Dos-devices
  607.    FUnc        Function monitor nodes (see 'addfunc_cmd')
  608.    SEma        Semaphores
  609.    RESM        Resident modules
  610.    FIls        Open files
  611.    LOck        Locks
  612.    IHan        Input handlers
  613.    FDfi        All fdfiles loaded (see 'loadfd_cmd')
  614.    Attc        All attached keys (see 'attach_cmd')
  615.    Crsh        All crashed programs (see 'crash')
  616.    DBug        All debug nodes (see 'debugging')
  617.    STru        All structure defines (see 'addstruct')
  618.    COnf        AutoConfigs
  619.    MOni        Monitors (DOS 2.0 only)
  620.    PUbs        Public Screens (DOS 2.0 only)
  621.    LWin        All logical windows for PowerVisor
  622.    PWin        All physical windows for PowerVisor
  623.  
  624. You can see in which list you are by examining your prompt.
  625. You can change your current list by typing the new listname.
  626. If you use 'mode autolist' you will get a list when you change the
  627. current list.
  628.  
  629. Type 'help <list>_list' for specific help on each list.
  630.  
  631. Other help: libfuncs attach_cmd crash mode_cmd debugging list_op
  632.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
  633.             addfunc_cmd loadfd_cmd <list>_list info_cmd addstruct_cmd
  634.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  635. ===
  636. @Command: pvcall_cmd
  637. -------------------
  638.  
  639.    <result> <- PVcall <number> [<arguments>]
  640.  
  641.  
  642. Call internal PowerVisor functions. This command is only useful for the
  643. very experienced PowerVisor user. See the 'The Wizard Corner' chapter for
  644. more info.
  645.  
  646.          number  name
  647.          ------------------------
  648.          0       CreateFunction
  649.          1       Error
  650.          2       AdvanceHistory
  651.          3       LowerHistory
  652.          4       GetHistoryLine
  653.          5       RefreshStringG
  654.          6       InstallPreCmd
  655.          7       Evaluate
  656.          8       RemVar
  657.          9       ParseString
  658.          10      CopyString
  659.          11      AddStringToHist
  660.          12      GetStringGBuf
  661.          13      AppendString
  662.          14      SkipSpaces
  663.          15      SetCursorPos
  664.          16      InstallPostCmd
  665.          17      SetDebugMode
  666.          18      GetExecLevel
  667.          19      OBSOLETE
  668.          20      GetStringInfo
  669.          21      GetSnapBuffer
  670.          22      InstallSnapCmd
  671.          23      OBSOLETE
  672.          24      Beep
  673.          25      GetVarAddress
  674.          26      OBSOLETE
  675.          27      CreateConstant
  676.          28      CompareStrings
  677.          29      CallMLScript
  678.          30      GetEvalBase
  679.          31      GetARexxBase
  680.          32      GetDebugBase
  681.          33      GetFileBase
  682.          34      GetGeneralBase
  683.          35      GetListBase
  684.          36      GetMainBase
  685.          37      GetRoutines
  686.          38      GetModeRoutines
  687.          39      GetRexxList
  688.          40      GetScreenBase
  689.          41      GetMemoryBase
  690.          42      OBSOLETE
  691.          43      GetStringGadget
  692.          44      OBSOLETE
  693.          45      OBSOLETE
  694.          46      ErrorHandler
  695.          47      InstallQuitCmd
  696.          48      ConvertAlias
  697.          49      AddAutoClear
  698.          50      AllocPVBlock
  699.          51      FreePVBlock
  700.          52      ComputeGadgetSignal
  701.          53      Print
  702.          54      PrintNum
  703.          55      AddGlobalAutoClear
  704.          56      RemoveGlobalAutoClear
  705.          57      ClosePVHandle
  706.          58      ReAllocPVMemoryBlock
  707.          59      ReAllocPVQuickBlock
  708.          60      OBSOLETE
  709.          61      RefreshLogWin
  710.          62      SnapWord
  711.          63      Disassemble
  712.          64      CmdDisassemble
  713.          65      PutChar
  714. ===
  715. @Command: prefs_cmd
  716. ------------------
  717.  
  718.    PREfs ('history' | 'key' | 'startup' | 'window' | 'screen' | 'stack' |
  719.          'logwin' | 'linelen' | 'debug' | 'dmode' | 'pens' | 'font')
  720.          [<arguments> ...]
  721.  
  722.  
  723. You can set/get preferences with this command. <prefname> is one of
  724. (followed by the specific argument template) :
  725.  
  726.    - history [<history value>]
  727.    - key <key number> [<code> <qualifier>]
  728.          0 = interrupt key
  729.          1 = hot key
  730.          2 = pause key
  731.          3 = cycle active logwin
  732.          4 = history up
  733.          5 = history down
  734.    - startup [<startup word>]
  735.          bit 0 = start PowerVisor on other screen
  736.          bit 1 = start PowerVisor on own screen with non-backdrop window
  737.    - window [<x> <y> <w> <h>]
  738.    - screen [<w> <h>]
  739.    - stack [<stack fail level>]
  740.    - logwin <full standard logwin name> [<cols> <rows> <mask> <flags>]
  741.          supported logwins :
  742.             Main,Extra,Refresh,Debug,Rexx,PPrint
  743.          bits in flag :
  744.             4   = -MORE- enabled
  745.             32  = real-top
  746.             64  = statusline off
  747.             128 = interrupt off
  748.             256 = auto snap to output
  749.    - linelen [<line length>]
  750.    - debug [<instructions> <show previous instruction>]
  751.    - dmode 'n'|'r'|'c'|'f'
  752.    - pens [<pen offset number> <pen color>]
  753.    - font [<font name> <font size> <style> <flags>]
  754.  
  755. All parameters set with this command can be saved with the 'saveconfig'
  756. command.
  757.  
  758. Other help: saveconfig_cmd mode_cmd
  759.             ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  760. ===
  761. @Command: event_cmd
  762. ------------------
  763.  
  764.    EVent <class> <subclass> <code> <qualifier> <x> <y>
  765.  
  766.  
  767. Send an input event to the input device. This is useful in macros.
  768.  
  769. Other help: attach_cmd
  770.             ¯¯¯¯¯¯¯¯¯¯
  771. ===
  772. @Command: owner_cmd
  773. ------------------
  774.  
  775.    OWNer <address>
  776.  
  777.  
  778. This command tries to see who is the owner of the address you specify.
  779. This command is not completely ready but it is safe to use.
  780. ===
  781. @Command: speek_cmd   (only 68020 with 68851 or 68030 or 68040)
  782. ------------------
  783.  
  784.    <value> <- SPEEk <address>
  785.  
  786.  
  787. Peek a longword from memory. <address> is a PHYSICAL address. The MMU tree
  788. is completely ignored.
  789.  
  790. Other help: mmutree_cmd spoke_cmd
  791.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  792. ===
  793. @Command: saveconfig_cmd
  794. -----------------------
  795.  
  796.    SAVEConfig
  797.  
  798.  
  799. Save the current 'mode' and 'prefs' settings to the file s:PowerVisor-config.
  800. They will automatically be loaded when you start PowerVisor.
  801.  
  802. Other help: mode_cmd prefs_cmd
  803.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  804. ===
  805. @Command: spoke_cmd   (only 68020 with 68851 or 68030 or 68040)
  806. ------------------
  807.  
  808.    SPOke <address> <value>
  809.  
  810.  
  811. Poke a longword in memory. <address> is a PHYSICAL address. The MMU tree
  812. is completely ignored.
  813.  
  814. Other help: mmutree_cmd speek_cmd
  815.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  816. ===
  817. @Command: mmutree_cmd   (only 68020 with 68851 or 68030 or 68040)
  818. --------------------
  819.  
  820.    MMutree
  821.  
  822.  
  823. This command shows the current MMU tree (CRP only).
  824.  
  825. FC code trees are not implemented yet.
  826. 8 byte format pages are not implemented yet.
  827. indirect pages are not implemented yet.
  828.  
  829. Other help: mmuregs_cmd mmurtest_cmd mmuwtest_cmd specregs_cmd mmureset_cmd
  830.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  831. ===
  832. @Command: mmureset_cmd   (only 68020 with 68851 or 68030 or 68040)
  833. ---------------------
  834.  
  835.    MMURESet
  836.  
  837.  
  838. This command resets all U and M flags in the MMU tree to false.
  839.  
  840. Other help: mmutree_cmd mmuregs_cmd
  841.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  842. ===
  843. @Command: mmuregs_cmd   (only 68020 with 68851 or 68030 or 68040)
  844. --------------------
  845.  
  846.    MMURegs
  847.  
  848.  
  849. Show all special mmu registers (except MMUSR).
  850.  
  851. Other help: mmutree_cmd mmurtest_cmd mmuwtest_cmd specregs_cmd
  852.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  853. ===
  854. @Command: openlw_cmd
  855. -------------------
  856.  
  857.    RC,<lwin> <- OPENLw <physical window> <logwin name> <cols> <rows>
  858.                 [<brother> <where> [<number of columns or lines>]]
  859.  
  860.  
  861. Open a logical window on a physical window. If the physical window is empty
  862. you need not specify the two last arguments. Otherwise <brother> is the
  863. logical window which will be your brother and <where> specifies where
  864. our new logical window should appear relative to the <brother>.
  865. The <where> string can be like :
  866.  
  867.    u     above brother
  868.    d     below brother
  869.    r     right from brother
  870.    l     left from brother
  871.    pd    take parent from brother and appear below this box
  872.    pppr  take parent from parent from parent and appear right from this box
  873.    ...
  874.  
  875. If <number of columns or lines> is specified it is used as the number
  876. of lines or columns for the new logical window (<number of columns or
  877. lines> is interpreted as <number of columns> if the new window is positioned
  878. left or right of <brother>, otherwise <number of columns or lines>
  879. is interpreted as <number of lines>).
  880.  
  881.  
  882. Other help: closelw_cmd openpw_cmd closepw_cmd lwin_list pwin_list
  883.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  884. ===
  885. @Command: openpw_cmd
  886. -------------------
  887.  
  888.    RC,<pwin> <- OPENPw <physical window name> <x> <y> <w> <y>
  889.  
  890.  
  891. Open a physical window. It will be empty (no logical windows).
  892.  
  893. Other help: closelw_cmd openlw_cmd closepw_cmd lwin_list pwin_list
  894.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  895. ===
  896. @Command: closepw_cmd
  897. --------------------
  898.  
  899.    CLOSEPw <physical window>
  900.  
  901.  
  902. Close a physical window. All logical windows on this physical window
  903. are automatically removed.
  904. You can't remove the 'Main' physical window.
  905.  
  906. Other help: closelw_cmd openlw_cmd openpw_cmd lwin_list pwin_list
  907.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  908. ===
  909. @Command: closelw_cmd
  910. --------------------
  911.  
  912.    CLOSELw <logical window>
  913.  
  914.  
  915. Close a logical window.
  916. You can't remove the 'Main' logical window.
  917.  
  918. Other help: closepw_cmd openlw_cmd openpw_cmd lwin_list pwin_list
  919.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  920. ===
  921. @Command: setflags_cmd
  922. ---------------------
  923.  
  924.    RC,<oldflags> <- SETFLags <logical window> <mask> <flags>
  925.  
  926.  
  927. Set flags for a logical window.
  928. Bits in <mask> and <flags> :
  929.  
  930.    4   = -MORE- enabled
  931.    32  = real-top
  932.    64  = statusline off
  933.    128 = interrupt off
  934.    256 = auto snap to output
  935.  
  936. Other help: openlw_cmd closelw_cmd lwin_list
  937.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  938. ===
  939. @Function: isbreak_func
  940. ----------------------
  941.  
  942.    ISBREAK( <address> )
  943.  
  944.  
  945. Test if there is a breakpoint on this address. If true this function returns
  946. the breakpoint number and the breakpoint type in one longword :
  947.  
  948.    NNNNTTTT
  949. ===
  950. @Function: getstack_func
  951. -----------------------
  952.  
  953.    GETSTACK( )
  954.  
  955.  
  956. This function returns the maximum stack usage for the last task monitored
  957. with the 'stack' command.
  958.  
  959.  
  960. Other help: stack_cmd
  961.             ¯¯¯¯¯¯¯¯¯
  962. ===
  963. @Command: mmurtest_cmd   (only 68020 with 68851 or 68030 or 68040)
  964. ---------------------
  965.  
  966.    MMURTest <address>
  967.  
  968.  
  969. Test an address for read access in MMU tree.
  970. MMUSR is dumped. (does not work yet)
  971.  
  972. Other help: mmutree_cmd mmuregs_cmd mmuwtest_cmd specregs_cmd
  973.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  974. ===
  975. @Command: mmuwtest_cmd   (only 68020 with 68851 or 68030 or 68040)
  976. ---------------------
  977.  
  978.    MMUWtest <address>
  979.  
  980.  
  981. Test an address for write access in MMU tree.
  982. MMUSR is dumped. (does not work yet)
  983.  
  984. Other help: mmutree_cmd mmuregs_cmd mmurtest_cmd specregs_cmd
  985.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  986. ===
  987. @Command: specregs_cmd   (only 68020 or 68030 or 68040)
  988. ---------------------
  989.  
  990.    SPecregs
  991.  
  992.  
  993. Show all special 68020 registers.
  994.  
  995. Other help: mmutree_cmd mmuregs_cmd mmurtest_cmd mmuwtest_cmd
  996.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  997. ===
  998. @Command: setfont_cmd
  999. --------------------
  1000.  
  1001.    SETfont <logical window> <fontname> <fontheight>
  1002.  
  1003.  
  1004. Set a font for a logical window. The font must be either memory resident
  1005. or available in the 'fonts:' directory. Proportional fonts are not supported.
  1006.  
  1007. See the 'lwin' list for all available logical windows.
  1008.  
  1009. Other help: lwin_list
  1010.             ¯¯¯¯¯¯¯¯¯
  1011. ===
  1012. @Function: geterror_func
  1013. -----------------------
  1014.  
  1015.    GETERROR( <expression string> )
  1016.  
  1017.  
  1018. Evaluate an expression and return the error. If there was no error, 0
  1019. is returned.
  1020.  
  1021. Example:
  1022.    d geterror(7)
  1023.    returns 0 since 7 is a valid expression.
  1024.  
  1025.    d geterror(7+)
  1026.    returns 16 since there is a missing operand.
  1027.  
  1028. Other help: error_cmd
  1029.             ¯¯¯¯¯¯¯¯¯
  1030. ===
  1031. @Command: error_cmd
  1032. ------------------
  1033.  
  1034.    <pointer to error string> <- ERror <error number>
  1035.  
  1036.  
  1037. This command returns a pointer to an error string corresponding with
  1038. <error number>. Note this pointer has very limited use since the space
  1039. it points to is almost immidiatelly overwritten by PowerVisor. You can
  1040. make a copy of the string with the following construction :
  1041.  
  1042.    cs=alloc(s,\({error 17},%s))
  1043.  
  1044. 17 is the error number (in this case 'Missing operand'). Alloc allocates
  1045. a string and puts the pointer to this string in 'cs'. This string is
  1046. more permanent than the one returned by 'error'.
  1047.  
  1048. 'error' is more useful when used from ARexx. The error string is returned
  1049. in the 'result' variable.
  1050.  
  1051. Other help: geterror_func alloc_func
  1052.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1053. ===
  1054. @Command: colrow_cmd
  1055. -------------------
  1056.  
  1057.    COLRow <logical window> <columns> <rows>
  1058.  
  1059.  
  1060. Set the number of columns and rows (in characters) for the specified
  1061. logical window. If <columns> or <rows> are equal to -1, PowerVisor
  1062. will scale them to the maximum size available.
  1063. If <colums> or <rows> are equal to -1, PowerVisor will clear the window
  1064. everytime the size changes. This is not the case when both values are
  1065. not equal to -1 but to a fixed value.
  1066. Note that you can use the 'fit' command to automatically size the number
  1067. of columns and rows to the visible size.
  1068.  
  1069. See the 'lwin' list for all logical windows.
  1070.  
  1071. Use the 'getcol' and 'getrow' functions to get the current values.
  1072.  
  1073. Other help: getcol_func getrow_func lwin_list fit_cmd
  1074.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
  1075. ===
  1076. @Function: getcol_func
  1077. ---------------------
  1078.  
  1079.    GETCOL( <logical window> )
  1080.  
  1081.  
  1082. Get the current number of columns (or -1) for the logical window.
  1083.  
  1084. Other help: getrow_func colrow_cmd lwin_list
  1085.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1086. ===
  1087. @Function: getrow_func
  1088. ---------------------
  1089.  
  1090.    GETROW( <logical window> )
  1091.  
  1092.  
  1093. Get the current number of rows (or -1) for the logical window.
  1094.  
  1095. Other help: getcol_func colrow_cmd lwin_list
  1096.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1097. ===
  1098. @Function: eval_func
  1099. -------------------
  1100.  
  1101.    EVAL( <string pointer> )
  1102.  
  1103.  
  1104. Evaluate the string at <string pointer> and return the result.
  1105. If <string pointer> is 0, 'eval' returns 0.
  1106.  
  1107. Example:
  1108.    disp eval("1+2")
  1109.    displays 3.
  1110.  
  1111.    scan    (enter 4+4)
  1112.    disp eval(input)
  1113.    displays 8.
  1114.  
  1115. Other help: if_func
  1116.             ¯¯¯¯¯¯¯
  1117. ===
  1118. @Function: if_func
  1119. -----------------
  1120.  
  1121.    IF( <condition>,<expression 1>,<expression 2> )
  1122.  
  1123.  
  1124. If <condition> is true, evaluate <expression 1>, else evaluate
  1125. <expression 2>.
  1126.  
  1127. Example:
  1128.    d if(1,2,3)
  1129.    displays 2.
  1130.  
  1131.    d if(0,2,3)
  1132.    displays 3.
  1133.  
  1134.    a=1
  1135.    b=2
  1136.    c=3
  1137.    d=4
  1138.    e=5
  1139.    d if(a,if(b,c,d),e)
  1140.    displays 3.
  1141.  
  1142. Other help: eval_func
  1143.             ¯¯¯¯¯¯¯¯¯
  1144. ===
  1145. @Command: view_cmd
  1146. -----------------
  1147.  
  1148.    VIew [<address> [<bytes>]]
  1149.  
  1150.  
  1151. View memory following certain requirements. The default format is
  1152. Long/Ascii combined view. You can change the format used to display
  1153. the memory for a specific range of memory to something else.
  1154.  
  1155. Use the 'addtag' command to define how a specific range of memory
  1156. should be viewed.
  1157.  
  1158. Other help: addtag_cmd remtag_cmd tags_cmd checktag_cmd memory_cmd
  1159.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1160. ===
  1161. @Command: addtag_cmd
  1162. -------------------
  1163.  
  1164.    ADDTag <address> <bytes> <type> [<structure>]
  1165.  
  1166.  
  1167. With this command you can define the view mode to be used for a range of
  1168. memory. The 'view' command uses these tags to determine how to dump
  1169. memory.
  1170. The <address> is the starting address for the memory range. This range
  1171. continous for <bytes> bytes. <type> can be one of the following :
  1172.  
  1173.    BA       byte/ascii format (default for all memory not in tags)
  1174.    WA       word/ascii format
  1175.    LA       long/ascii format
  1176.    AS       ascii only format
  1177.    CO       code format
  1178.    ST       structure format
  1179.  
  1180. (case is not important).
  1181. Other types can be supported in future.
  1182.  
  1183. If your type is 'ST' you must supply an extra argument <structure>.
  1184. This is the pointer to the structure definition you must have loaded
  1185. with the 'addstruct' command. You can use the 'stsize' function to
  1186. obtain the size of a structure.
  1187.  
  1188. Other help: view_cmd remtag_cmd tags_cmd checktag_cmd addstruct_cmd
  1189.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  1190.             stsize_func cleartags_cmd loadtags_cmd savetags_cmd tg_cmd
  1191.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  1192.             taglist_func usetag_cmd
  1193.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1194. ===
  1195. @Command: loadtags_cmd
  1196. ---------------------
  1197.  
  1198.    LOADTags <file> <base>
  1199.  
  1200.  
  1201. Load tags from a file. All tags in the file are added to the tags in
  1202. the current tag list. When an old tag collides with a new tag, the
  1203. old tag will be removed (two tags collide when they use the same
  1204. address).
  1205.  
  1206. If the tagfile contains structures (type 'ST') you must load these
  1207. structure in memory (with 'addstruct') before loading the tags. Otherwise
  1208. the type of the tag will be changed to Long/Ascii ('LA') and you will get
  1209. a warning :
  1210.  
  1211.    'Warning ! Unknown structure types have been changed to LA !'
  1212.  
  1213.  
  1214. <base> is an address to compare with the address saved in the tag
  1215. list. When these two are the same, the tags will remain on the
  1216. same address as when they were saved. <base> is useful if you want
  1217. to add tags to a piece of memory that may be somewhere else everytime
  1218. you use PowerVisor.
  1219.  
  1220.  
  1221. Other help: savetags_cmd cleartags_cmd addtag_cmd remtag_cmd tags_cmd
  1222.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1223.             taglist_func usetag_cmd addstruct_cmd
  1224.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  1225. ===
  1226. @Command: savetags_cmd
  1227. ---------------------
  1228.  
  1229.    SAVETags <file> <base>
  1230.  
  1231.  
  1232. Save tags in current tag list to a file.
  1233. <base> is an address to include in the saved tag file. With <base> you
  1234. can relocate the tags later if the memory element is located on
  1235. another position.
  1236.  
  1237.  
  1238. Other help: loadtags_cmd cleartags_cmd addtag_cmd remtag_cmd tags_cmd
  1239.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1240.             taglist_func usetag_cmd
  1241.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1242. ===
  1243. @Command: cleartags_cmd
  1244. ----------------------
  1245.  
  1246.    CLEARTags
  1247.  
  1248.  
  1249. Clear all tags in the current tag list.
  1250.  
  1251. Other help: loadtags_cmd savetags_cmd addtag_cmd remtag_cmd tags_cmd
  1252.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1253.             taglist_func usetag_cmd
  1254.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1255. ===
  1256. @Command: remtag_cmd
  1257. -------------------
  1258.  
  1259.    REMTag <address>
  1260.  
  1261.  
  1262. Remove the range in the tag list beginning with <address>.
  1263.  
  1264. Other help: view_cmd addtag_cmd tags_cmd checktag_cmd cleartags_cmd
  1265.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  1266.             taglist_func usetag_cmd
  1267.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1268. ===
  1269. @Command: tags_cmd
  1270. -----------------
  1271.  
  1272.    TAGs
  1273.  
  1274.  
  1275. List all tags currently defined in the current tag list.
  1276.  
  1277. Other help: view_cmd addtag_cmd remtag_cmd checktag_cmd
  1278.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1279.             taglist_func usetag_cmd
  1280.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1281. ===
  1282. @Command: checktag_cmd
  1283. ---------------------
  1284.  
  1285.    <bytes remaining> <- CHecktag <address>
  1286.  
  1287.  
  1288. Check if an address resides in the current tag list. If it is, PowerVisor
  1289. will print the type of the tag list followed by the remaining number of bytes
  1290. after <address> in this tag.
  1291. If the address is not in the tag list, PowerVisor will print the number
  1292. of bytes remaining before the next tag. If there is no next tag, PowerVisor
  1293. will print $7fffffff.
  1294.  
  1295. Other help: view_cmd addtag_cmd remtag_cmd tags_cmd
  1296.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1297.             taglist_func usetag_cmd
  1298.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1299. ===
  1300. @Command: usetag_cmd
  1301. -------------------
  1302.  
  1303.    USetag <number>
  1304.  
  1305.  
  1306. Set the current tag list to <number> (0 .. 15). The current tag list is
  1307. used by all tag commands and by 'view'.
  1308.  
  1309. Other help: tg_cmd addtag_cmd remtag_cmd tags_cmd taglist_func
  1310.             ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1311. ===
  1312. @Command: tg_cmd
  1313. ---------------
  1314.  
  1315.    TG <number> <command>
  1316.  
  1317.  
  1318. Temporarily set the current tag list to <number> and execute the command.
  1319.  
  1320. Other help: usetag_cmd addtag_cmd remtag_cmd tags_cmd taglist_func
  1321.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1322. ===
  1323. @Function: taglist_func
  1324. ----------------------
  1325.  
  1326.    TAGLIST( )
  1327.  
  1328.  
  1329. Return the current tag list. This is a number between 0 and 15.
  1330.  
  1331. Other help: usetag_cmd tg_cmd
  1332.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  1333. ===
  1334. @Command: interprete_cmd
  1335. -----------------------
  1336.  
  1337.    INTErprete <structure pointer> <struct def pointer>
  1338.  
  1339.  
  1340. Show the contents of a structure at <structure pointer> using the
  1341. <struct def pointer> structure definition. You can load and add
  1342. structure definitions with the 'AddStruct' command.
  1343.  
  1344. Other help: addstruct_cmd stru_list
  1345.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1346. ===
  1347. @Command: clearstruct_cmd
  1348. ------------------------
  1349.  
  1350.    CLEARStruct
  1351.  
  1352.  
  1353. Clear all structure definitions loaded with 'addstruct'.
  1354.  
  1355. Other help: addstruct_cmd remstruct_cmd stru_list
  1356.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1357. ===
  1358. @Command: addstruct_cmd
  1359. ----------------------
  1360.  
  1361.    ADDStruct <filename>
  1362.  
  1363.  
  1364. Add the structure definitions from the file to the PowerVisor 'stru'
  1365. list. You can then use these structures with the 'interprete', 'peek'
  1366. and 'apeek' commands.
  1367. PowerVisor will first check in the current directory for the file and
  1368. than in the s:pv directory. This is the recommended place for scripts
  1369. and pvsd files.
  1370.  
  1371. You can look in the 'stru' list to see which structures are allready
  1372. in memory.
  1373.  
  1374. Other help: remstruct_cmd stru_list interprete_cmd peek_func apeek_func
  1375.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1376.             stsize_func
  1377.             ¯¯¯¯¯¯¯¯¯¯¯
  1378. ===
  1379. @Command: string_cmd
  1380. -------------------
  1381.  
  1382.    <string> <- STRIng <string pointer>
  1383.  
  1384.  
  1385. This command is only useful in ARexx. It returns an ARexx string containing
  1386. the string pointed to by <string pointer>.
  1387.  
  1388.  
  1389. Other help: assign_cmd rx_cmd
  1390.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  1391. ===
  1392. @Command: assign_cmd
  1393. -------------------
  1394.  
  1395.    ASsign <assignment string>
  1396.  
  1397.  
  1398. Assign a value to a PowerVisor variable.
  1399. This command also works for memory assignments.
  1400.  
  1401. Example:
  1402.  
  1403.    The following ARexx script (type in and execute with 'rx')
  1404.  
  1405.       /* */
  1406.       address rexx_powervisor
  1407.       a=1
  1408.       assign 'a=2'
  1409.       disp a
  1410.       disp 'a'
  1411.  
  1412.    Will have as output :
  1413.  
  1414.       00000001 , 1
  1415.       00000002 , 2
  1416.  
  1417. Other help: rx_cmd clip_cmd remclip_cmd string_cmd
  1418.             ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1419. ===
  1420. @Command: rx_cmd
  1421. ---------------
  1422.  
  1423.    RX <file name>
  1424.  
  1425.  
  1426. Execute an ARexx script. The default extension for ARexx scripts is '.pv'.
  1427. You do not need to type this extension unless you use a different one.
  1428.  
  1429. The name of the PowerVisor ARexx port is :
  1430.  
  1431.    REXX_POWERVISOR
  1432.  
  1433. Other help: script_cmd assign_cmd hide_cmd unhide_cmd sync_cmd async_cmd
  1434.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1435.             clip_cmd remclip_cmd
  1436.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  1437. ===
  1438. @Command: remstruct_cmd
  1439. ----------------------
  1440.  
  1441.    REMStruct <struct def pointer>
  1442.  
  1443.  
  1444. Unload a structure definition previously loaded with 'addstruct'.
  1445.  
  1446. Other help: addstruct_cmd stru_list
  1447.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1448. ===
  1449. @Function: peek_func
  1450. -------------------
  1451.  
  1452.    PEEK( <structure pointer>,<struct def pointer>,<field name> )
  1453.  
  1454.  
  1455. Returns the value of <structure>.<field>.
  1456.  
  1457. Other help: addstruct_cmd interprete_cmd apeek_func stru_list
  1458.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1459. ===
  1460. @Function: stsize_func
  1461. ---------------------
  1462.  
  1463.    STSIZE( <structure pointer> )
  1464.  
  1465.  
  1466. Return the size of the structure represented by <structure pointer>.
  1467.  
  1468. Other help: addstruct_cmd stru_list
  1469.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1470. ===
  1471. @Function: apeek_func
  1472. --------------------
  1473.  
  1474.    APEEK( <structure pointer>,<struct def pointer>,<field name> )
  1475.  
  1476.  
  1477. Returns the address of <structure>.<field>.
  1478.  
  1479. Other help: addstruct_cmd interprete_cmd peek_func stru_list
  1480.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1481. ===
  1482. @Command: for_cmd
  1483. ----------------
  1484.  
  1485.    FOR <listname> <command>
  1486.  
  1487.  
  1488. For each element in list <listname> execute <command>.
  1489. The command is executed with the pointer to the current element from the
  1490. list in the 'RC' variabele.
  1491.  
  1492. Example:
  1493.    for task disp rc
  1494.    display all tasks.
  1495.  
  1496. Other help: list_cmd <list>_list
  1497.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  1498. ===
  1499. @Command: llist_cmd
  1500. ------------------
  1501.  
  1502.    LList <node> ['start']
  1503.  
  1504.  
  1505. Traverse a system list and prints all nodes in the list.
  1506. If 'start' is specified, 'LList' will automatically search to the
  1507. start of the list.
  1508.  
  1509. Other help: list_cmd
  1510.             ¯¯¯¯¯¯¯¯
  1511. ===
  1512. @Command: vars_cmd
  1513. -----------------
  1514.  
  1515.    VArs ['all']
  1516.  
  1517.  
  1518. This command shows all variables. You will notice the variables
  1519. 'rc' and 'error'.
  1520. When you use the 'all' option, PowerVisor will show all variables
  1521. including constants and functions.
  1522. Notice the 'mode' special variable and the 'version' constant.
  1523.  
  1524.  
  1525. Other help: variables mode_cmd remvar_cmd functions
  1526.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1527. ===
  1528. @Command: remvar_cmd
  1529. -------------------
  1530.  
  1531.    REMVar {<variables>}
  1532.  
  1533.  
  1534. This command removes all variables in the commandline if they exist.
  1535. 'remvar' is very useful in scripts.
  1536.  
  1537.  
  1538. Other help: variables vars_cmd
  1539.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1540. ===
  1541. @Command: alias_cmd
  1542. ------------------
  1543.  
  1544.    ALias [<alias cmd> <alias string>]
  1545.  
  1546.  
  1547. Alias without arguments lists all current aliases.
  1548. You can set a new alias <alias cmd> to <alias string> with this
  1549. command.
  1550. When you create a new alias with the same name, the old one will
  1551. be removed.
  1552. You can use [] to specify where the arguments must be positioned.
  1553. When you want to use quotes you must precede them with '\'.
  1554.  
  1555. Example:
  1556.    alias lfd 'loadfd [] fd:[]_lib.fd'
  1557.       When you type 'lfd exec' on the command line, the command line
  1558.       will be expanded to 'loadfd exec fd:exec_lib.fd' before
  1559.       execution.
  1560.  
  1561.    alias execute li[]bs
  1562.       When you type 'execute st li' on the command line,
  1563.       the command line will be expanded to 'list libs'.
  1564.       (The previous example is ofcourse completely useles).
  1565.  
  1566.    alias writeln 'print \'[]\\0a\''
  1567.       'writeln we are testing' will result in
  1568.       'print 'we are testing\0a''
  1569.  
  1570. Note:
  1571.    You can use the [] operator as many times as you wish (even in
  1572.    the command).
  1573.  
  1574. Note:
  1575.    You cannot use alias commands in the alias string. So the
  1576.    following will NOT create an infinite loop:
  1577.       alias disp 'list []'
  1578.       alias list 'disp []'
  1579.    This sequence of command simply swappes the two commands 'disp'
  1580.    and 'list'.
  1581.  
  1582. Note:
  1583.    You must type an alias in full. You can not use abbreviations for
  1584.    aliases on the command line. (If you want an abbreviation, you can
  1585.    define one with another alias).
  1586.  
  1587. Other help: unalias_cmd
  1588.             ¯¯¯¯¯¯¯¯¯¯¯
  1589. ===
  1590. @Command: unalias_cmd
  1591. --------------------
  1592.  
  1593.    UNALias <alias cmd>
  1594.  
  1595.  
  1596. Remove an alias from the alias list.
  1597.  
  1598. Other help: alias_cmd
  1599.             ¯¯¯¯¯¯¯¯¯
  1600. ===
  1601. @Command: hold_cmd
  1602. -----------------
  1603.  
  1604.    HOld
  1605.  
  1606.  
  1607. This command closes the PowerVisor screen and waits for the <Right-Alt>+
  1608. <Right-Shift>+? combination to reopen it again.
  1609. If a crash happens PowerVisor will reopen its screen automatically.
  1610.  
  1611. Other help: crash quit_cmd
  1612.             ¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1613. ===
  1614. @Command: quit_cmd   (commandline and scripts only)
  1615. -----------------
  1616.  
  1617.    Quit
  1618.  
  1619.  
  1620. Quit PowerVisor. Everything will be cleaned up.
  1621. Frozen tasks are lost. Monitor functions will be cleaned. Crash trapping
  1622. is disabled. Stack checking is disabled. All debug
  1623. tasks are put back in the task list (they continue to run).
  1624. All FDFiles will be removed from memory.
  1625. If one of your debug tasks is tracing 'Quit' will print an error message.
  1626. First halt this task with 'trace h'.
  1627.  
  1628. Warning: Everything you allocated or opened using library functions will
  1629.          NOT be cleaned up. Remember to do it yourself.
  1630.  
  1631.          All crashed tasks are left in memory. They will simply wait.
  1632.  
  1633.          All freezed tasks are lost forever (and their memory too).
  1634.          UnFreeze or kill your tasks before you quit.
  1635.  
  1636.          All memory allocated with the 'alloc' function is automatically
  1637.          freed.
  1638.  
  1639.          All tasks you were debugging will simply be put back on their
  1640.          task list and continue executing.
  1641.  
  1642.          All physical windows and logical windows are closed.
  1643.  
  1644. If 'quit' is called from within a script, the script is stopped.
  1645. 'quit' will be ignored if called from within a group operator. 'Quit' will
  1646. only work when called from the commandline.
  1647.  
  1648. Other help: hold_cmd trace_cmd
  1649.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1650. ===
  1651. @Command: gadgets_cmd
  1652. --------------------
  1653.  
  1654.    Gadgets <window>
  1655.  
  1656.  
  1657. Lists all gadgets in the specified window.
  1658.  
  1659. Other help: wins_list list_cmd info_cmd
  1660.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1661. ===
  1662. @Command: size_cmd
  1663. -----------------
  1664.  
  1665.    SIze <physical window> <w> <h>
  1666.  
  1667.  
  1668. Set the width and height (in pixels) for the physical window. This command
  1669. only works if the physical window is a non-backdrop window.
  1670.  
  1671. Other help: screen_cmd move_cmd pwin_list
  1672.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1673. ===
  1674. @Command: move_cmd
  1675. -----------------
  1676.  
  1677.    MOVe <physical window> <x> <y>
  1678.  
  1679.  
  1680. Move the physical window to a specified position. This command only works
  1681. if the physical window is a non-backdrop window.
  1682.  
  1683. Other help: screen_cmd size_cmd pwin_list
  1684.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1685. ===
  1686. @Command: screen_cmd
  1687. -------------------
  1688.  
  1689.    SCREen [<screen>]
  1690.  
  1691.  
  1692. Move the PowerVisor window to another screen. If you want PowerVisor on its
  1693. own screen, type 'screen' without arguments (this is default).
  1694. You can use the 'size' command to change the size for this window (or you
  1695. can use the sizinggadget).
  1696. If <screen> is 0, PowerVisor will go to its own screen but will remain
  1697. on a non-backdrop window.
  1698.  
  1699. Example:
  1700.    screen workbench         move PowerVisor to workbench screen
  1701.  
  1702. Other help: size_cmd move_cmd
  1703.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1704. ===
  1705. @Command: remres_cmd
  1706. -------------------
  1707.  
  1708.    REMRes <resident pointer>
  1709.  
  1710.  
  1711. Remove a resident module.
  1712.  
  1713. Example:
  1714.    remres resm:exec
  1715.  
  1716. Other help: syslists
  1717.             ¯¯¯¯¯¯¯¯
  1718. ===
  1719. @Command: remove_cmd
  1720. -------------------
  1721.  
  1722.    <node> <- REMOve <node>
  1723.  
  1724.  
  1725. Remove a node from a list. Be carefull with this command. No checking is done
  1726. if you are really removing a node. The memory for this node is not freed.
  1727.  
  1728. Other help: remres_cmd remhand_cmd kill_cmd
  1729.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  1730. ===
  1731. @Command: curdir_cmd
  1732. -------------------
  1733.  
  1734.    CUrdir <process> <directory name>
  1735.  
  1736.  
  1737. Set a new current directory for a process.
  1738.  
  1739. Example:
  1740.    curdir task:Shell ':langua/sources'
  1741.  
  1742. Other help: strings list_op
  1743.             ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
  1744. ===
  1745. @Command: clear_cmd
  1746. ------------------
  1747.  
  1748.    CLEar [<value>]
  1749.  
  1750.  
  1751. Fill all unused memory with <value> (or 0 if value is not specified).
  1752. ===
  1753. @Function: lines_func
  1754. --------------------
  1755.  
  1756.    LINES( LOGWIN )
  1757.  
  1758.  
  1759. This function gets the maximum number of lines available on the
  1760. PowerVisor logical window.
  1761.  
  1762. Example:
  1763.    disp lines(main)
  1764.  
  1765. Other help: cols_func locate_cmd lwin_list
  1766.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1767. ===
  1768. @Function: cols_func
  1769. -------------------
  1770.  
  1771.    COLS( LOGWIN )
  1772.  
  1773.  
  1774. This function gets the maximum number of columns available on the
  1775. PowerVisor window.
  1776.  
  1777. Example:
  1778.    disp cols(main)
  1779.  
  1780. Other help: lines_func locate_cmd lwin_list
  1781.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1782. ===
  1783. @Function: getlwin_func
  1784. ----------------------
  1785.  
  1786.    GETLWIN()
  1787.  
  1788.  
  1789. This function returns a pointer to the current logical window.
  1790.  
  1791. Other help: lwin_list xwin_cmd current_cmd getactive_func active_cmd
  1792.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1793. ===
  1794. @Command: scroll_cmd
  1795. -------------------
  1796.  
  1797.    SCROll <logical window> <x> <y>
  1798.  
  1799.  
  1800. Scroll the logical window. <x> and <y> is the new top-left visible
  1801. position. This command checks for illegal values.
  1802.  
  1803. Other help: active_cmd lwin_list
  1804.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1805. ===
  1806. @Command: active_cmd
  1807. -------------------
  1808.  
  1809.    Active <logwin>
  1810.  
  1811.  
  1812. Make a logical window the active one. The active logical window is
  1813. the logical window where you can scroll with the keys, and where all
  1814. input is redirected to (see The 'Screen' tutorial file for more info).
  1815.  
  1816. Other help: list_list getactive_func current_cmd getlwin_func
  1817.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1818. ===
  1819. @Function: getactive_func
  1820. ------------------------
  1821.  
  1822.    GETACTIVE()
  1823.  
  1824.  
  1825. This function returns a pointer to the active logical window. This
  1826. is the logical window where you can scroll with the keyboard.
  1827.  
  1828. Other help: lwin_list xwin_cmd current_cmd active_cmd getlwin_func
  1829.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1830. ===
  1831. @Function: getx_func
  1832. -------------------
  1833.  
  1834.    GETX()
  1835.  
  1836.  
  1837. Get the current x coordinate on the current logical window (in columns).
  1838.  
  1839. Example:
  1840.    a=getx()
  1841.  
  1842. Other help: gety_func locate_cmd getchar_func variables current_cmd
  1843.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  1844.             getlwin_func
  1845.             ¯¯¯¯¯¯¯¯¯¯¯¯
  1846. ===
  1847. @Function: gety_func
  1848. -------------------
  1849.  
  1850.    GETY()
  1851.  
  1852.  
  1853. Get the current y coordinate on the current logical window (in lines).
  1854.  
  1855. Other help: getx_func locate_cmd getchar_func variables current_cmd
  1856.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  1857.             getlwin_func
  1858.             ¯¯¯¯¯¯¯¯¯¯¯¯
  1859. ===
  1860. @Function: getchar_func
  1861. ----------------------
  1862.  
  1863.    GETCHAR()
  1864.  
  1865.  
  1866. Get the character at the current screenposition in the current logical
  1867. window.
  1868.  
  1869. Example:
  1870.    locate 10,10
  1871.    a=getchar()
  1872.  
  1873. Other help: getx_func gety_func locate_cmd variables current_cmd getlwin_func
  1874.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1875. ===
  1876. @Command: current_cmd
  1877. --------------------
  1878.  
  1879.    CURRent <logical window>
  1880.  
  1881.  
  1882. Set the current logical window. Only 'extra' and 'main' are allowed.
  1883. Before you can use the 'extra' logical window you must open it with
  1884. the 'xwin' command.
  1885.  
  1886. Other help: xwin_cmd lwin_list getlwin_func on_cmd active_cmd getactive_func
  1887.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  1888. ===
  1889. @Command: on_cmd
  1890. ---------------
  1891.  
  1892.    ON <logical window> <command>
  1893.  
  1894.  
  1895. With this command you can execute an other command, so that it's output
  1896. appears on the logical window of your choice (except 'debug').
  1897. This command temporary sets the current window to <logical window>.
  1898.  
  1899. Example:
  1900.  
  1901.    open 'extra' logical window :
  1902.       xwin
  1903.  
  1904.    execute a list on that window :
  1905.       on xwin list task
  1906.  
  1907. Other help: xwin_cmd lwin_list getlwin_func current_cmd
  1908.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  1909. ===
  1910. @Command: cls_cmd
  1911. ----------------
  1912.  
  1913.    CLs
  1914.  
  1915.  
  1916. This command clears the current logical window.
  1917.  
  1918. Other help: current_cmd getlwin_func
  1919.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1920. ===
  1921. @Command: led_cmd
  1922. ----------------
  1923.  
  1924.    LEd
  1925.  
  1926.  
  1927. Use this command to toggle the powerled on or off. This is useful when
  1928. a program is crashed or when you are using the led monitor.
  1929.  
  1930. Other help: addfunc_cmd
  1931.             ¯¯¯¯¯¯¯¯¯¯¯
  1932. ===
  1933. @Command: load_cmd
  1934. -----------------
  1935.  
  1936.    <bytes loaded> <- LOAd <filename> <start> [<max bytes>]
  1937.  
  1938.  
  1939. Load a file into memory. Only <max bytes> are read in if specified.
  1940. Please allocate the memory you use.
  1941.  
  1942. Example:
  1943.    pointer=alloc(n,10000)
  1944.    load file pointer 10000
  1945.    disp pointer
  1946.  
  1947. Don't forget to free you memory later (with 'free').
  1948.  
  1949. Other help: save_cmd free_func
  1950.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  1951. ===
  1952. @Command: save_cmd
  1953. -----------------
  1954.  
  1955.    <bytes written> <- SAve <filename> <start> <bytes>
  1956.  
  1957.  
  1958. Save memory to disk.
  1959.  
  1960. Other help: load_cmd
  1961.             ¯¯¯¯¯¯¯¯
  1962. ===
  1963. @Command: regs_cmd
  1964. -----------------
  1965.  
  1966.    REGs <task>|<crash node>|<debug node>
  1967.  
  1968.  
  1969. Show the registers for a task.
  1970. When a task is crashed use the crash node pointer instead. If you don't
  1971. do this, some registers may contain wrong information.
  1972.  
  1973. Other help: debugging crash special_op
  1974.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  1975. ===
  1976. @Command: print_cmd
  1977. ------------------
  1978.  
  1979.    PRint <string>
  1980.  
  1981.  
  1982. Print a string on the current logical window. (Useful for script and ARexx
  1983. programs)
  1984.  
  1985. Example:
  1986.    print 'testing'
  1987.    print test
  1988.  
  1989. To print a newline after the string, use:
  1990.  
  1991.    print 'testing\0a'
  1992.    print testing\0a
  1993.  
  1994. Other help: disp_cmd locate_cmd strings current_cmd getlwin_func
  1995.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  1996. ===
  1997. @Command: sprint_cmd
  1998. -------------------
  1999.  
  2000.    SPRint <string>
  2001.  
  2002.  
  2003. Print a string on a serial terminal or printer (Useful for 'addfunc'
  2004. for example).
  2005.  
  2006. Other help: addfunc_cmd
  2007.             ¯¯¯¯¯¯¯¯¯¯¯
  2008. ===
  2009. @Command: locate_cmd
  2010. -------------------
  2011.  
  2012.    LOCAte <x> [<y>]
  2013.  
  2014.  
  2015. Adjust the current location on the current logical window.
  2016.  
  2017. Other help: getx_func gety_func getchar_func lines_func cols_func  print_cmd
  2018.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯  ¯¯¯¯¯¯¯¯¯
  2019.             current_cmd getlwin_func home_cmd
  2020.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2021. ===
  2022. @Command: home_cmd
  2023. -----------------
  2024.  
  2025.    HOMe
  2026.  
  2027.  
  2028. Adjust the current location on the current logical window to the top location
  2029. visible. Note that this is not always the same as 'locate 0,0'.
  2030.  
  2031. Other help: getx_func gety_func getchar_func lines_func cols_func  print_cmd
  2032.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯  ¯¯¯¯¯¯¯¯¯
  2033.             current_cmd getlwin_func locate_cmd
  2034.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  2035. ===
  2036. @Function: lastmem_func
  2037. ----------------------
  2038.  
  2039.    LASTMEM()
  2040.  
  2041.  
  2042. This function returns the address that 'memory' and 'unasm' will use
  2043. to continue their listing.
  2044.  
  2045. Other help: memory_cmd unasm_cmd lastbytes_func lastlines_func lastfound_func
  2046.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2047. ===
  2048. @Function: lastlines_func
  2049. ------------------------
  2050.  
  2051.    LASTLINES()
  2052.  
  2053.  
  2054. This function returns the last number of lines used with the 'unasm'
  2055. command (default is 20).
  2056.  
  2057. Other help: unasm_cmd lastbytes_func
  2058.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2059. ===
  2060. @Function: lastbytes_func
  2061. ------------------------
  2062.  
  2063.    LASTBYTES()
  2064.  
  2065.  
  2066. This function returns the last number of bytes used with the 'view'
  2067. or 'memory' commands (default is 320).
  2068.  
  2069. Other help: memory_cmd view_cmd lastlines_func
  2070.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2071. ===
  2072. @Function: lastfound_func
  2073. ------------------------
  2074.  
  2075.    LASTFOUND()
  2076.  
  2077.  
  2078. This function returns the address of the second byte of the string found
  2079. with 'search' or 'next'. This is the address where 'next' will continue
  2080. with the search.
  2081.  
  2082. Other help: search_cmd next_cmd
  2083.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2084. ===
  2085. @Function: alloc_func
  2086. --------------------
  2087.  
  2088.    ALLOC( ('n',<size>) | ('c',<size>) | ('s',<string>) )
  2089.  
  2090.  
  2091. Use this function for easy memory allocation.
  2092.  
  2093. Example:
  2094.    a=alloc(n,1000)
  2095.    allocates 1000 bytes and stores the pointer to this memoryblock in 'a'.
  2096.  
  2097.    a=alloc(c,1000)
  2098.    allocates 1000 bytes and stores the pointer to this memoryblock in 'a'.
  2099.    The memory will be allocated in chip ram.
  2100.  
  2101.    a=alloc(s,'PowerVisor')
  2102.    allocates 11 bytes and copies the string 'PowerVisor' to this
  2103.    memory region. 'a' is the pointer to this memoryblock.
  2104.  
  2105. Use the 'free' function to free this memory.
  2106. Note that memory allocated with this command is automatically freed
  2107. when PowerVisor quits.
  2108. Also note that this memory is not guaranteed to be in chip ram.
  2109.  
  2110. When the blocksize is smaller than 65533 bytes the result from this function
  2111. is a pointer after a word containing the size. This pointer is thus word
  2112. alligned but not longword alligned.
  2113. When the blocksize is bigger the result is a pointer after a longword
  2114. containing the size. This pointer is longword alligned.
  2115. Using word or longword allignment you can determine the size of a memory
  2116. block. An easier way to do this is to use the 'getsize' function.
  2117.  
  2118. Other help: realloc_func free_func strings variables getsize_func cleanup_cmd
  2119.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2120.             showalloc_cmd isalloc_func
  2121.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  2122. ===
  2123. @Function: realloc_func
  2124. ----------------------
  2125.  
  2126.    REALLOC( <memoryblock>,<new size> )
  2127.  
  2128.  
  2129. Use this function to reallocate a memoryblock allocated with the
  2130. 'alloc' function. Only memoryblocks smaller than 64K are supported.
  2131.  
  2132. Other help: alloc_func free_func strings variables getsize_func
  2133.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  2134.             cleanup_cmd showalloc_cmd isalloc_func
  2135.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  2136. ===
  2137. @Function: free_func
  2138. -------------------
  2139.  
  2140.    FREE( <pointer> )
  2141.  
  2142.  
  2143. Free a block previously allocated with 'alloc' or 'getstr'.
  2144.  
  2145. Other help: alloc_func getstr_cmd getsize_func showalloc_cmd cleanup_cmd
  2146.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2147. ===
  2148. @Function: getsize_func
  2149. ----------------------
  2150.  
  2151.    GETSIZE( <memoryblock> )
  2152.  
  2153.  
  2154. This function determines the size of a memoryblock allocated with the
  2155. 'alloc' function or some other PowerVisor commands.
  2156.  
  2157. Other help: alloc_func free_func getstr_cmd isalloc_func showalloc_cmd
  2158.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  2159.             cleanup_cmd realloc_cmd
  2160.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2161. ===
  2162. @Function: isalloc_func
  2163. ----------------------
  2164.  
  2165.    ISALLOC( <pointer> )
  2166.  
  2167.  
  2168. This function checks if <pointer> points to a memoryblock allocated
  2169. with the 'alloc' function. If it is, isalloc returns a pointer to
  2170. the pointer, otherwise 0.
  2171.  
  2172. Other help: alloc_func free_func getsize_func showalloc_cmd cleanup_cmd
  2173.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2174. ===
  2175. @Command: showalloc_cmd
  2176. ----------------------
  2177.  
  2178.    SHowalloc
  2179.  
  2180.  
  2181. This command shows all memory blocks allocated with the 'alloc'
  2182. function. All memory blocks that are in this list will be
  2183. automatically freed when PowerVisor quits.
  2184.  
  2185. Other help: alloc_func free_func getsize_func isalloc_func cleanup_cmd
  2186.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2187.             realloc_func
  2188.             ¯¯¯¯¯¯¯¯¯¯¯¯
  2189. ===
  2190. @Command: cleanup_cmd
  2191. --------------------
  2192.  
  2193.    CLEANup
  2194.  
  2195.  
  2196. This command frees all memory blocks that are allocated with the
  2197. 'alloc' function. This is done automatically when PowerVisor quits.
  2198.  
  2199. Other help: alloc_func free_func getsize_func isalloc_func realloc_func
  2200.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  2201.             showalloc_cmd
  2202.             ¯¯¯¯¯¯¯¯¯¯¯¯¯
  2203. ===
  2204. @Command: color_cmd
  2205. ------------------
  2206.  
  2207.    COLor <col num> <red> <green> <blue>
  2208.  
  2209.  
  2210. Change the rgb value of a PowerVisor screen color.
  2211.  
  2212. This command gives an error when you try to use it when
  2213. PowerVisor is on a window.
  2214.  
  2215. Other help: screen_cmd
  2216.             ¯¯¯¯¯¯¯¯¯¯
  2217. ===
  2218. @Function: rfrate_func
  2219. ---------------------
  2220.  
  2221.    RFRATE( )
  2222.  
  2223.  
  2224. Give the current refresh rate.
  2225.  
  2226. Other help: refresh_cmd rfcmd_func
  2227.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  2228. ===
  2229. @Function: rfcmd_func
  2230. --------------------
  2231.  
  2232.    RFCMD( )
  2233.  
  2234.  
  2235. Give a pointer to the current refresh command (or 0 if no refresh).
  2236.  
  2237. This function returns a string if used from ARexx.
  2238.  
  2239. Other help: refresh_cmd rfrate_func
  2240.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2241. ===
  2242. @Function: curlist_func
  2243. ----------------------
  2244.  
  2245.    CURLIST( )
  2246.  
  2247.  
  2248. Give a pointer to the name of the current list.
  2249.  
  2250. This function returns a string if used from ARexx.
  2251.  
  2252. Other help: syslists
  2253.             ¯¯¯¯¯¯¯¯
  2254. ===
  2255. @Command: request_cmd
  2256. --------------------
  2257.  
  2258.    <result> <- REQuest <body string> <gadget string> <argument>
  2259.  
  2260.  
  2261. Show a requester on the PowerVisor screen. This command uses
  2262. reqtools.library (V37 or higher) (© Nico François) is available, otherwise
  2263. this command is simulated using the 'key' function.
  2264. The result of this command is a number indicating the button that was
  2265. pressed (this number is also what you should press on the keyboard if
  2266. you don't have reqtools.library). The rightmost button is 0. All other
  2267. buttons are numbered from left to right starting with 1.
  2268.  
  2269. <body string> is the string for the requester title bar.
  2270. <gadget string> is the string with all the button text below.
  2271. Note that you can use one % C-formatting character (optionally) in one
  2272. of the above strings. If you do this <argument> is used for the value.
  2273. Note that <argument> is NOT an optional argument.
  2274.  
  2275.  
  2276. Other help: scan_cmd reqload_cmd reqsave_cmd getstring_cmd key_func
  2277.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2278. ===
  2279. @Command: reqload_cmd
  2280. --------------------
  2281.  
  2282.    INPUT,<ptr to filename> <- REQLoad <title>
  2283.  
  2284.  
  2285. Ask the user for a filename with a filerequester. This command uses
  2286. reqtools.library (V37 or higher) (© Nico François) if available, otherwise
  2287. this command is equivalent to the 'scan' command.
  2288. The result of this command (in INPUT), is a pointer to the file name
  2289. (or 0 if the user pressed 'cancel'). This string is remembered until you
  2290. quit PowerVisor or until you use another input command ('scan', 'reqload',
  2291. 'reqsave' or 'getstring').
  2292.  
  2293. This command returns a string if used from ARexx.
  2294.  
  2295. <title> is the title to be put in the requester window
  2296.  
  2297. The filerequester is a 'load' requester. This means that you can
  2298. double click on filenames.
  2299.  
  2300.  
  2301. Other help: scan_cmd request_cmd reqsave_cmd getstring_cmd key_func
  2302.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2303. ===
  2304. @Command: reqsave_cmd
  2305. --------------------
  2306.  
  2307.    INPUT,<ptr to filename> <- REQSave <title>
  2308.  
  2309.  
  2310. Ask the user for a filename with a filerequester. This command uses
  2311. reqtools.library (V37 or higher) (© Nico François) if available, otherwise
  2312. this command is equivalent to the 'scan' command.
  2313. The result of this command (in INPUT), is a pointer to the file name
  2314. (or 0 if the user pressed 'cancel'). This string is remembered until you
  2315. quit PowerVisor or until you use another input command ('scan', 'reqload',
  2316. 'reqsave' or 'getstring').
  2317.  
  2318. This command returns a string if used from ARexx.
  2319.  
  2320. <title> is the title to be put in the requester window
  2321.  
  2322. The filerequester is a 'save' requester. This means that you can't
  2323. double click on filenames.
  2324.  
  2325.  
  2326. Other help: scan_cmd request_cmd reqload_cmd getstring_cmd key_func
  2327.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2328. ===
  2329. @Command: getstring_cmd
  2330. ----------------------
  2331.  
  2332.    INPUT,<ptr to inputline> <- GEtstring <title> <max number of chars>
  2333.  
  2334.  
  2335. Ask the user for input. This command uses reqtools.library (V37 or
  2336. higher) (© Nico François) if available, otherwise this command is equivalent
  2337. to the 'scan' command.
  2338. The result of this command (in INPUT), is a pointer to the result string
  2339. (or 0 if the user pressed 'cancel'). This string is remembered until you
  2340. quit PowerVisor or until you use another input command ('scan', 'reqload',
  2341. 'reqsave' or 'getstring').
  2342.  
  2343. This command returns a string if used from ARexx.
  2344.  
  2345. <title> is the title to be put in the requester window
  2346. <max number of chars> is the maximum number of characters that is allowed
  2347. in the requester
  2348.  
  2349. Both parameters are ignored if 'scan' is used
  2350.  
  2351. Other help: scan_cmd request_cmd reqload_cmd reqsave_cmd key_func
  2352.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2353. ===
  2354. @Command: scan_cmd
  2355. -----------------
  2356.  
  2357.    INPUT,<pointer to inputline> <- SCAn [<number>]
  2358.  
  2359.  
  2360. Ask the user for input. This command is very useful for ARexx scripts.
  2361. The result of this command (in INPUT), is a pointer to the result string.
  2362. This string is remembered until you quit PowerVisor or until you use another
  2363. input command ('scan', 'getstring', 'reqload' or 'reqsave')
  2364.  
  2365. This command returns a string if used from ARexx.
  2366.  
  2367. Normally the prompt is '????'. If you want another 4 letter prompt you
  2368. can use <number>.
  2369.  
  2370. Example:
  2371.    scan *"TEST"
  2372.  
  2373.    will ask for a line of text (with the 'TEST' prompt) and store the
  2374.    pointer to this line in 'input'.
  2375.  
  2376. Other help: key_func showalloc_cmd free_func cleanup_cmd getstring_cmd
  2377.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  2378.             reqload_cmd reqsave_cmd
  2379.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2380. ===
  2381. @Function: key_func
  2382. ------------------
  2383.  
  2384.    KEY( )
  2385.  
  2386.  
  2387. Wait for a key and return the ascii value.
  2388.  
  2389. Example:
  2390.    a=key()
  2391.  
  2392. Other help: variables qual_func scan_cmd
  2393.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2394. ===
  2395. @Function: qual_func
  2396. -------------------
  2397.  
  2398.    QUAL( )
  2399.  
  2400.  
  2401. Return the qualifier for the last pressed key (with 'key').
  2402.  
  2403. Example:
  2404.    a=key()
  2405.    disp qual()
  2406.  
  2407. Other help: variables key_func
  2408.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2409. ===
  2410. @Command: disp_cmd
  2411. -----------------
  2412.  
  2413.    <value of expression> <- Disp <expression>
  2414.  
  2415.  
  2416. Use this command to display an expression.
  2417. Also use this command to execute a library function if you don't want
  2418. to put the result in a variable.
  2419.  
  2420. Other help: variables expressions libfuncs print_cmd void_cmd
  2421.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2422. ===
  2423. @Command: refresh_cmd
  2424. --------------------
  2425.  
  2426.    Refresh [<refresh rate> <command>]
  2427.  
  2428.  
  2429. This command installs <command> to be executed every <refresh rate>
  2430. IntuiTick (one IntuiTick is a tenth of a second).
  2431.  
  2432. With no arguments 'refresh' removes the refresh command.
  2433.  
  2434. Note that before you can execute this command you must open the refresh
  2435. logical window with the 'rwin' command.
  2436.  
  2437. Other help: syslists list_cmd rfrate_func rfcmd_func rwin_cmd
  2438.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2439. ===
  2440. @Command: fit_cmd
  2441. ----------------
  2442.  
  2443.    FIT <logical window>
  2444.  
  2445.  
  2446. This command adjusts the number of columns and number of rows of a logical
  2447. window to fit exactly in the visible size. This is useful after a switch
  2448. from non-interlace to interlace for example.
  2449.  
  2450. You can achieve the same result with the 'colrow' command, but then you have
  2451. to compute the number of columns and rows for yourselves.
  2452.  
  2453. Other help: colrow_cmd lwin_list
  2454.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2455. ===
  2456. @Command: awin_cmd
  2457. -----------------
  2458.  
  2459.    AWin [<number of lines>]
  2460.  
  2461.  
  2462. Open/close the Rexx window. This logical window is used when it is present
  2463. for Rexx output. If it is not present the current logical window is used.
  2464.  
  2465. If <number of lines> is specified, the logical window is opened with
  2466. <number of lines> lines (for the 'topaz 8' font).
  2467.  
  2468.  
  2469. Other help: dwin_cmd owin_cmd rwin_cmd xwin_cmd lwin_list
  2470.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2471. ===
  2472. @Command: owin_cmd
  2473. -----------------
  2474.  
  2475.    OWin [<number of lines>]
  2476.  
  2477.  
  2478. Open/close the PPrint window. This logical window is used when it is present
  2479. for PortPrint output. If it is not present the current logical window is
  2480. used.
  2481.  
  2482. If <number of lines> is specified, the logical window is opened with
  2483. <number of lines> lines (for the 'topaz 8' font).
  2484.  
  2485.  
  2486. Other help: dwin_cmd awin_cmd rwin_cmd xwin_cmd lwin_list
  2487.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2488. ===
  2489. @Command: rwin_cmd
  2490. -----------------
  2491.  
  2492.    RWin [<number of lines>]
  2493.  
  2494.  
  2495. Open/close the Refresh window. (required if you want to use the 'refresh'
  2496. command).
  2497.  
  2498. If <number of lines> is specified, the logical window is opened with
  2499. <number of lines> lines (for the 'topaz 8' font).
  2500.  
  2501.  
  2502. Other help: awin_cmd owin_cmd dwin_cmd xwin_cmd lwin_list
  2503.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2504. ===
  2505. @Command: xwin_cmd
  2506. -----------------
  2507.  
  2508.    Xwin [<number of lines>]
  2509.  
  2510.  
  2511. Open/close the Extra window.
  2512.  
  2513. If <number of lines> is specified, the logical window is opened with
  2514. <number of lines> lines (for the 'topaz 8' font).
  2515.  
  2516.  
  2517. Other help: awin_cmd owin_cmd dwin_cmd rwin_cmd lwin_list
  2518.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2519. ===
  2520. @Command: dwin_cmd
  2521. -----------------
  2522.  
  2523.    DWin [<number of lines>]
  2524.  
  2525.  
  2526. Open/close the Debug window. (required if you want to use fullscreen
  2527. debugging).
  2528.  
  2529. If <number of lines> is specified, the logical window is opened with
  2530. <number of lines> lines (for the 'topaz 8' font).
  2531.  
  2532.  
  2533. Other help: owin_cmd awin_cmd rwin_cmd xwin_cmd lwin_list
  2534.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2535. ===
  2536. @Command: mode_cmd
  2537. -----------------
  2538.  
  2539.    MOde <mode argument> {<mode argument>...}
  2540.  
  2541.  
  2542. Install preferences.
  2543.  
  2544. The following arguments are supported:
  2545.    byte        to list memory in byte notation
  2546.    word        to list memory in word notation
  2547.    long        to list memory in long notation (default)
  2548.    ascii       to list memory in ascii notation
  2549.  
  2550.    lace        interlace on
  2551.    nolace      no interlace (default)
  2552.  
  2553.    dec         integers are displayed as decimal
  2554.    hex         integers are displayed as hex
  2555.    hexdec      both formats are displayed (default)
  2556.  
  2557.    more        display prompt when scrolling to much (default)
  2558.    nomore      continue scrolling
  2559.  
  2560.    fb          feedback on screen (default)
  2561.    nofb        no command feedback
  2562.  
  2563.    auto        do an automatic list whenever the user uses a 'change
  2564.                current list' command.
  2565.    noauto      don't do this (default)
  2566.  
  2567.    pal         pal screen
  2568.    ntsc        ntsc screen
  2569.    vga         vga screen
  2570.    viking      a2024 screen
  2571.  
  2572.    shex        show hex data when disassembling memory (default)
  2573.    noshex      do not show hex data
  2574.  
  2575.    space       add a space after a snapped word (default)
  2576.    nospace     don't add a space
  2577.  
  2578.    sbottom     size gadget is in bottom border (default)
  2579.    nosbottom   size gadget is in right border
  2580.  
  2581.    fancy       use two bitplane screen. If you have AmigaDOS 2.0, a newlook 3D
  2582.                screen will be used (default)
  2583.    nofancy     normal one bitplane screen
  2584.  
  2585.    lonespc     snap space when user clicks on empty space in window
  2586.    nolonespc   don't do this (default)
  2587.  
  2588.    patch       patch the Exec AddTask function so that all new tasks will
  2589.                have full protection for PowerVisor (default)
  2590.    nopatch     do not patch Exec AddTask. You must use 'mode nopatch' if you
  2591.                want to use another debugger (like CodeProbe or MonAm)
  2592.                when PowerVisor is still in memory. Otherwise the Amiga can
  2593.                crash.
  2594.  
  2595. Example:
  2596.    mode byte lace
  2597.  
  2598. You can set and examine the 'mode' variable.
  2599. Parameters set with this command can be saved with the 'saveconfig' command.
  2600.  
  2601. Other help: variables saveconfig_cmd
  2602.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2603. ===
  2604. @Command: copy_cmd
  2605. -----------------
  2606.  
  2607.    Copy <source> <destination> <bytes>
  2608.  
  2609.  
  2610. Copy <bytes> bytes from <source> to <destination>.
  2611. Be cautious with this command. It can be very destructive.
  2612.  
  2613. Other help: fill_cmd search_cmd
  2614.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  2615. ===
  2616. @Command: fill_cmd
  2617. -----------------
  2618.  
  2619.    Fill <dest> <bytes> <with>
  2620.  
  2621.  
  2622. Fill the memory starting at <dest> with the string <with>. Do this
  2623. for <bytes> bytes.
  2624.  
  2625. For example:
  2626.    fill $c50000 22 'test\41'
  2627.  
  2628. will copy 4.4 times the string "testA" beginning at $c50000.
  2629. The memory map looks something like:
  2630. 00C50000: testAtestAtestAt
  2631. 00C50010: estAte
  2632.  
  2633. Be cautious with this command. It can be very destructive.
  2634.  
  2635. Other help: copy_cmd search_cmd
  2636.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  2637. ===
  2638. @Command: search_cmd
  2639. -------------------
  2640.  
  2641.    RC,<address> <- Search <start> <bytes> <string>
  2642.  
  2643.  
  2644. Search to a string in memory starting at <start>. Search until the
  2645. string is found, or until you have searched <bytes> bytes.
  2646.  
  2647. Example:
  2648.    search $1000 2000 'test'
  2649.  
  2650. Will search for the string "test" beginning at $1000. If after 2000 bytes
  2651. the string is not found, 0 is the result.
  2652.  
  2653. The result for this command will also be stored in the 'rc' variable.
  2654.  
  2655. Other help: copy_cmd fill_cmd variables next_cmd lastfound_func
  2656.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2657. ===
  2658. @Command: next_cmd
  2659. -----------------
  2660.  
  2661.    RC,<address> <- Next
  2662.  
  2663.  
  2664. Continue searching at the last position.
  2665. This command prints 0 if not found.
  2666.  
  2667. The result is stored in the 'rc' variable.
  2668.  
  2669. Other help: search_cmd variables lastfound_func
  2670.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  2671. ===
  2672. @Command: stack_cmd
  2673. ------------------
  2674.  
  2675.    STAck [<task> <micro seconds>]
  2676.  
  2677.  
  2678. Use this command to check stack usage for a specific task. You can only
  2679. check one task at the time. With no arguments this command removes the
  2680. stack checker.
  2681.  
  2682. 'stack' uses the UNIT_MICROHZ timer device. This means that <micro seconds>
  2683. must be greater or equal than 2. This command has a better check resolution
  2684. than 'account' (if your <micro seconds> value is low enough).
  2685.  
  2686. 'stack' freezes the task when a stack overflow is about to occur (see the
  2687. 'prefs' command for the minimum number of bytes allowed in the stack).
  2688. Note that this behaviour is different from 'account'. Stack overflows
  2689. trapped with the 'account' stack checker are put in the 'crsh' (crash)
  2690. list (This behaviour may change in future).
  2691.  
  2692. In addition to stack checking this command also computes the maximum stack
  2693. usage for the task. You can display this maximum with the 'getstack'
  2694. function.
  2695.  
  2696.  
  2697. Other help: prefs_cmd stack_cmd getstack_func
  2698.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  2699. ===
  2700. @Command: account_cmd
  2701. --------------------
  2702.  
  2703.    ACCount
  2704.  
  2705.  
  2706. This command enables stack checking and task accounting.
  2707. Note that only 64 tasks are checked. You can see the accounting
  2708. info in the 'task' list.
  2709.  
  2710. Other help: prefs_cmd stack_cmd
  2711.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2712. ===
  2713. @Command: kill_cmd
  2714. -----------------
  2715.  
  2716.    Kill <task>|<crash node>
  2717.  
  2718.  
  2719. Cancel the specified task. This command works even if the task was
  2720. frozen.
  2721.  
  2722. Example:
  2723.    kill arp          when the current list is 'task' and 'arp' is an
  2724.                      abbreviation of a task or process
  2725.    kill 00C05063
  2726.  
  2727. If the task you want to kill has crashed, PowerVisor will also remove
  2728. the corresponding crash node. You can also kill a crashed task with a
  2729. pointer to the crash node instead of the task node.
  2730. Do not kill a debug task. Remove this with the 'debug' command.
  2731.  
  2732. Other help: crash debug_cmd debugging freeze_cmd
  2733.             ¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  2734. ===
  2735. @Command: freeze_cmd
  2736. -------------------
  2737.  
  2738.    FReeze <task>
  2739.  
  2740.  
  2741. Freeze a task. Remember that when you quit PowerVisor all frozen tasks
  2742. are lost.
  2743.  
  2744. Other help: kill_cmd unfreeze_cmd
  2745.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  2746. ===
  2747. @Command: unfreeze_cmd
  2748. ---------------------
  2749.  
  2750.    UNFreeze <task>
  2751.  
  2752.  
  2753. Unfreeze a task you have frozen.
  2754.  
  2755. Other help: freeze_cmd
  2756.             ¯¯¯¯¯¯¯¯¯¯
  2757. ===
  2758. @Command: addfunc_cmd
  2759. --------------------
  2760.  
  2761.    RC,<func node> <- ADdfunc (<libfuncname> | 'offs' <library> <offset>)
  2762.                      ['only' <task>] [<type> [<command>]]
  2763.  
  2764.  
  2765. This is a very powerfull command which enables you to monitor library
  2766. functions. I will explain this command with examples:
  2767.  
  2768.    loadfd exec fd:exec_lib.fd
  2769.                                  If you had not already done this
  2770.    addfunc openlibrary           Whenever some task uses the openlibrary
  2771.                                  function call, the usage count increments
  2772.                                  and the information for the last 8 tasks
  2773.                                  using this function is updated. (See
  2774.                                  'help info' and 'help syslists')
  2775.    addfunc putmsg led            Whenever a task uses the putmsg function
  2776.                                  the powerled switches its state.
  2777.    addfunc wait only trackdisk.device full
  2778.                                  Everytime 'trackdisk.device' uses the
  2779.                                  Wait function, the usage count is
  2780.                                  incremented. The registers used to
  2781.                                  call this function are also remembered.
  2782.    addfunc offs lib:exec -30     If you don't want to load the fd-file
  2783.                                  and you know the offset, you can use this
  2784.                                  construct.
  2785.  
  2786. You can find the usage counter in the list 'func'. Type 'func' to set
  2787. this list to the current one and type 'list'.
  2788.  
  2789. The following <type>s are available :
  2790.  
  2791.    none     Simply remember the 8 last tasks that called this function and
  2792.             update the usagecounter.
  2793.    LED      remember the 8 last tasks, update the usagecounter and blink
  2794.             the powerled.
  2795.    FULL     remember the 8 last tasks with their registers at the moment
  2796.             they called the function and update the usagecounter.
  2797.    FULLLED  remember the 8 last tasks with their registers at the moment
  2798.             they called the function, update the usagecounter and
  2799.             blink the powerled.
  2800.    EXEC     PowerVisor will call <command> everytime the function is called.
  2801.             The variable 'rc' will point to a copy of the function node.
  2802.             Warning ! Don't use this option for the following library
  2803.             functions :
  2804.                AllocSignal
  2805.                FreeSignal
  2806.                AllocMem
  2807.                FreeMem
  2808.                FindPort
  2809.                GetMsg
  2810.                PutMsg
  2811.                WaitPort
  2812.                PP_InitPortPrint
  2813.                PP_StopPortPrint
  2814.                PP_ExecCommand
  2815.             You can find the structure of the function node in the
  2816.             'The Wizard Corner' chapter.
  2817.  
  2818. Other help: remfunc_cmd libfuncs syslists list_cmd info_cmd func_list
  2819.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2820. ===
  2821. @Command: remfunc_cmd
  2822. --------------------
  2823.  
  2824.    REMfunc <function monitor node>
  2825.  
  2826.  
  2827. Use this function to remove a patch you installed with 'addfunc'.
  2828. This function checks if you are removing patches of the same function
  2829. in the wrong order. You should always remove the most recent patch
  2830. first.
  2831. You can find the nodes for the function monitor in the 'func' list
  2832.  
  2833. Example:
  2834.    addfunc putmsg only 00C23516
  2835.    addfunc putmsg only 00C036D0 led
  2836.    ...
  2837.    remfunc 00C20AB2        assuming this is the one with 'led'
  2838.    remfunc putmsg          the other one.
  2839.  
  2840. Other help: addfunc_cmd syslists func_list
  2841.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2842. ===
  2843. @Help crash
  2844. ----------
  2845. PowerVisor traps crashes. These include 'task helds' and 'gurus'.
  2846.  
  2847. Note that a crashed task is not frozen but simply put to wait state.
  2848. Use the command 'kill' to cancel the task
  2849.  
  2850. You can debug a crashed task with 'debug t'.
  2851.  
  2852. When PowerVisor crashes, you get a warning. If this happens you should
  2853. try to find out why it happened. If this crash is reproducable and is not
  2854. caused by dangerous actions by you, you should write me a bug report.
  2855.  
  2856.  
  2857. Other help: kill_cmd remcrash_cmd debug_cmd
  2858.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  2859. ===
  2860. @Command: unasm_cmd
  2861. ------------------
  2862.  
  2863.    Unasm [<start> [<instructions>]]
  2864.  
  2865.  
  2866. This command disassembles machinelanguage beginning at <start>.
  2867. <instructions> instructions are disassembled.
  2868. This command also shows symbols and breakpoints if there are any.
  2869.  
  2870. With no arguments this command continues the disassembly.
  2871.  
  2872. <instructions> is 20 by default.
  2873.  
  2874. Normally you will also see the hex data corresponding with the code.
  2875. You can disable this (and thus provide for longer labels in symbolic
  2876. disassembly) with the mode command (noshex).
  2877.  
  2878. Other help: debugging break_cmd mode_cmd view_cmd
  2879.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  2880. ===
  2881. @Command: libinfo_cmd
  2882. --------------------
  2883.  
  2884.    LIBInfo <library function name>
  2885.  
  2886.  
  2887. This command shows you the library, the offset and the register usage
  2888. for a library function. You must have loaded the corresponding fd-file
  2889. first.
  2890.  
  2891. Other help: libfuncs loadfd_cmd libfunc_cmd
  2892.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2893. ===
  2894. @Command: libfunc_cmd
  2895. --------------------
  2896.  
  2897.    LIBFunc <library> <offset>
  2898.  
  2899.  
  2900. This command shows you the name of the library function corresponding
  2901. with a library and an offset (offset must be negative).
  2902. You must have loaded the corresponding fd-file first.
  2903. Only the 16 least significant bits of <offset> are used.
  2904.  
  2905. This command is the reverse of 'libinfo'.
  2906.  
  2907. This command returns a string if called from ARexx.
  2908.  
  2909. Other help: libfuncs loadfd_cmd libinfo_cmd
  2910.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2911. ===
  2912. @Command: list_cmd
  2913. -----------------
  2914.  
  2915.    List [<list>]
  2916.  
  2917.  
  2918. With arguments this command lists the current list. With an argument
  2919. 'list' lists <list> :-)
  2920.  
  2921. Other help: syslists
  2922.             ¯¯¯¯¯¯¯¯
  2923. ===
  2924. @Command: memory_cmd
  2925. -------------------
  2926.  
  2927.    Memory [<start> [<bytes>]]
  2928.  
  2929.  
  2930. This command shows memory beginning at <start>.
  2931. <bytes> bytes are shown.
  2932.  
  2933. With no arguments this command continues the memory list.
  2934.  
  2935. <bytes> is 20 lines for default.
  2936.  
  2937. Use the 'mode' command to install preferences for list memory:
  2938.    mode long         for longword grouping (default)
  2939.    mode byte         for byte grouping
  2940.  
  2941. Look at the 'view' command for a more powerful dump routine.
  2942.  
  2943. Other help: mode_cmd view_cmd lastmem_func
  2944.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  2945. ===
  2946. @Command: info_cmd
  2947. -----------------
  2948.  
  2949.    Info <object address> [<list>]
  2950.  
  2951.  
  2952. This command gives additional information about an object.
  2953. When this object is not in the current list you must specify the list
  2954. where this object belongs.
  2955. Note that the information this command gives will never be a BPTR. These
  2956. are automatically converted to APTR's.
  2957.  
  2958. Example:
  2959.    info task:track task
  2960.    info win:'test window' win
  2961.  or
  2962.    task
  2963.    info task:track
  2964.    info 'trackdisk.device'
  2965.  
  2966. Be cautious with this command. When you give wrong arguments to this
  2967. function you could crash the machine.
  2968.  
  2969. Other help: syslists list_cmd <list>_list
  2970.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  2971. ===
  2972. @Command: memtask_cmd
  2973. --------------------
  2974.  
  2975.    MEMTask <task>
  2976.  
  2977.  
  2978. Show memory for a task. This is the memory which is allocated via
  2979. AllocEntry and is attached to the task.
  2980.  
  2981. Other help: task_list
  2982.             ¯¯¯¯¯¯¯¯¯
  2983. ===
  2984. @Command: remcrash_cmd
  2985. ---------------------
  2986.  
  2987.    REMCrash <crash node>
  2988.  
  2989.  
  2990. When a task crashes, PowerVisor makes a crash node. You can find this
  2991. node in the Crsh list. You can remove this node with the remcrash command.
  2992. Note that this command will not remove the task. The task will simply be
  2993. left waiting for a signal that will never come.
  2994.  
  2995. Other help: crash
  2996.             ¯¯¯¯¯
  2997. ===
  2998. @Command: loadfd_cmd
  2999. -------------------
  3000.  
  3001.    RC,<number of functions> <- LOADFd <library> <file-name>
  3002.  
  3003.  
  3004. This command loads a fd-file in memory. After you have loaded an fd-file
  3005. you can use the library functions defined in it.
  3006.  
  3007. Example:
  3008.    loadfd exec fd:exec_lib.fd
  3009.  
  3010. When a fd-file already exists, loadfd will do nothing.
  3011. The number of functions loaded is returned.
  3012. The pointer to the fd-file node is stored in the 'RC' variable.
  3013.  
  3014. Other help: libfuncs unloadfd_cmd
  3015.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯
  3016. ===
  3017. @Command: unlock_cmd
  3018. -------------------
  3019.  
  3020.    UNLOCk <pointer to a lock>
  3021.  
  3022.  
  3023. This command unlocks a lock. The pointer to the lock must be an APTR,
  3024. not a BPTR !
  3025.  
  3026. Other help: pathname_cmd
  3027.             ¯¯¯¯¯¯¯¯¯¯¯¯
  3028. ===
  3029. @Command: sync_cmd
  3030. -----------------
  3031.  
  3032.    SYNc
  3033.  
  3034.  
  3035. Use this command to synchronize PowerVisor with ARexx. Normally you can
  3036. execute an ARexx script (with 'rx') and while this script is executing
  3037. you can still use PowerVisor for other things. When you use this command,
  3038. PowerVisor will disable user input. Only ARexx commands are accepted.
  3039.  
  3040. Do not forget to 'async' in your ARexx script.
  3041.  
  3042. Other help: async_cmd rx_cmd
  3043.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3044. ===
  3045. @Command: async_cmd
  3046. ------------------
  3047.  
  3048.    ASYnc
  3049.  
  3050.  
  3051. Use this command to disable the synchronization enabled with 'sync'.
  3052.  
  3053. Other help: sync_cmd rx_cmd
  3054.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3055. ===
  3056. @Command: clip_cmd
  3057. -----------------
  3058.  
  3059.    [RC,<Pointer to data>] <- CLIp <Clip name> [<Pointer to data> <Length>]
  3060.  
  3061.  
  3062. Install a new ARexx clip in the system or return the pointer to the
  3063. string in the RexxArg for the given clip name.
  3064.  
  3065. Pointer to data (when you ask a clip) is returned in 'RC'.
  3066.  
  3067. Other help: remclip_cmd assign_cmd rx_cmd
  3068.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3069. ===
  3070. @Command: remclip_cmd
  3071. --------------------
  3072.  
  3073.    REMCLip <Clip name>
  3074.  
  3075.  
  3076. Remove an ARexx clip from the system.
  3077.  
  3078. Other help: clip_cmd assign_cmd rx_cmd
  3079.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3080. ===
  3081. @Command: hide_cmd
  3082. -----------------
  3083.  
  3084.    HIde
  3085.  
  3086.  
  3087. Hide all output from commands issued from an ARexx script.
  3088. This is equivalent to using the '-' operator in front of a commandline
  3089. (when you are typing commands from PowerVisor).
  3090.  
  3091. Other help: unhide_cmd
  3092.             ¯¯¯¯¯¯¯¯¯¯
  3093. ===
  3094. @Command: unhide_cmd
  3095. -------------------
  3096.  
  3097.    UNHide
  3098.  
  3099.  
  3100. Unhide all output from commands issued from an ARexx script.
  3101.  
  3102. Other help: hide_cmd
  3103.             ¯¯¯¯¯¯¯¯
  3104. ===
  3105. @Command: front_cmd
  3106. ------------------
  3107.  
  3108.    FROnt
  3109.  
  3110.  
  3111. Bring the PowerVisor screen to the front from within an ARexx script.
  3112. ===
  3113. @Command: closewindow_cmd
  3114. ------------------------
  3115.  
  3116.    CLOsewindow <window>
  3117.  
  3118.  
  3119. This command closes a window. The menu's are cleared. The DMRequest is
  3120. cleared. All requesters attached to this window are removed and the IDCMP
  3121. flags are set to zero.
  3122.  
  3123. Other help: closescreen_cmd
  3124.             ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  3125. ===
  3126. @Command: hunks_cmd
  3127. ------------------
  3128.  
  3129.    HUnks <process>
  3130.  
  3131.  
  3132. Show all the hunks for a process
  3133. ===
  3134. @Command: attach_cmd
  3135. -------------------
  3136.  
  3137.    <attach node> <- ATtach <command string> <code> <qualifier>
  3138.                     [('e' | 'c') ['+']]
  3139.  
  3140.  
  3141. This command attaches a command to a key. You can use this command to
  3142. initialize your functionkeys. A command attached to a key is also
  3143. called a macro.
  3144.  
  3145. Example:
  3146.    attach 'list' 80 0
  3147.       attaches
  3148.          list
  3149.       to the <F1> key.
  3150.    attach 'info task:\'trackdisk.device\' task' 81 2 e
  3151.       attaches
  3152.          info task:'trackdisk.device' task
  3153.       to the <F2> key with the <right-shift> pressed
  3154.       and when you press the key, PowerVisor will not add the command
  3155.       to the history buffer.
  3156.  
  3157. Use remattach to remove an attached key
  3158.  
  3159. If you do not want the command to be feedbacked on your screen if you
  3160. press the assigned key, you may want to precede the commandline with a '~'.
  3161.  
  3162. Example:
  3163.    attach '~list' 80 0
  3164.  
  3165. or you can use the 'e' option for a similar effect.
  3166.  
  3167. Other help: remattach_cmd attc_list redirection
  3168.             ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  3169. ===
  3170. @Command: remattach_cmd
  3171. ----------------------
  3172.  
  3173.    REMAttach <attach node>
  3174.  
  3175.  
  3176. Remove a macro.
  3177.  
  3178. Example:
  3179.    attc                    Goto the attachement list
  3180.    list                    To see all the keys
  3181. Node     Code Qualifier Command
  3182. -----------------------------------------------------------------------------
  3183. 00C184E0   81         2 'info task:'trackdisk.device' task                  '
  3184. 00C34268   80         0 'list                                               '
  3185.    remattach 00c34268      To remove the 'list' key
  3186.  
  3187. Other help: attach_cmd list_cmd syslists attc_list
  3188.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3189. ===
  3190. @Command: closescreen_cmd
  3191. ------------------------
  3192.  
  3193.    CLOSEScreen <screen>
  3194.  
  3195.  
  3196. This command closes a screen and all attached windows.
  3197.  
  3198. Other help: closewindow_cmd
  3199.             ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  3200. ===
  3201. @Command: log_cmd
  3202. ----------------
  3203.  
  3204.    LOG [<logical window> <filename>]
  3205.  
  3206.  
  3207. This command enables or disables the logging of all output in a logical window
  3208. to a file. PowerVisor only supports one log file. If you open one for a logical
  3209. window, PV will automatically close the other log file (if there is one).
  3210.  
  3211. You can disable (and close) command logging if you give no arguments to
  3212. this command.
  3213.  
  3214. Other help: redirection to_cmd
  3215.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3216. ===
  3217. @Command: to_cmd
  3218. ---------------
  3219.  
  3220.    TO <file> <command>
  3221.  
  3222.  
  3223. Log the output of one command to a file. After the command has executed
  3224. restore the current log file.
  3225.  
  3226. Other help: log_cmd
  3227.             ¯¯¯¯¯¯¯
  3228. ===
  3229. @Command: taskpri_cmd
  3230. --------------------
  3231.  
  3232.    TASKPri <task ptr> <priority>
  3233.  
  3234.  
  3235. Set the priority for a task.
  3236.  
  3237. Example:
  3238.    taskpri task:test -5
  3239. ===
  3240. @Command: pathname_cmd
  3241. ---------------------
  3242.  
  3243.    PAthname <lock>
  3244.  
  3245.  
  3246. This command prints the pathname for a lock. If <lock> does not point to
  3247. a lock, 'pathname' prints an error. Note that <lock> must be an APTR and
  3248. not a BPTR !
  3249.  
  3250. This command returns a string if used from ARexx.
  3251.  
  3252. Other help: unlock_cmd
  3253.             ¯¯¯¯¯¯¯¯¯¯
  3254. ===
  3255. @Command: unloadfd_cmd
  3256. ---------------------
  3257.  
  3258.    UNLoadfd <fd-file node>
  3259.  
  3260.  
  3261. Remove all functiondefinitions in a fd-file. You can find the
  3262. nodes for fd-files in the 'FDFi' list.
  3263. After this command you cannot use the library functions from this
  3264. fd-files anymore.
  3265.  
  3266. Other help: syslists loadfd_cmd libfuncs
  3267.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3268. ===
  3269. @Command: script_cmd
  3270. -------------------
  3271.  
  3272.    <result> <- SCRIpt <script file> [<commandline>]
  3273.  
  3274.  
  3275. The 'script' command executes the <script file>.
  3276. PowerVisor will first search the file in the current directory and than
  3277. in the s:pv subdirectory which is the recommended place for scripts.
  3278. You can use comments in script files by preceding the line with ';'.
  3279.  
  3280. You can also execute machinelanguage scripts with this command.
  3281. See the 'Scripts' tutorial file for more info about ML-scripts.
  3282.  
  3283. Other help: go_cmd resident_cmd unresident_cmd
  3284.             ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯
  3285. ===
  3286. @Command: resident_cmd
  3287. ---------------------
  3288.  
  3289.    RC,<Pointer to code> <- RESIdent [<filename>]
  3290.  
  3291.  
  3292. The 'resident' command loads a given file (with 'LoadSeg') and stores a
  3293. pointer to the start of the program in 'RC'. You can use this pointer
  3294. with the 'go' command.
  3295.  
  3296. You can make ML-scripts resident but you must make sure that the
  3297. routines are pure.
  3298.  
  3299. If you give no argument to 'resident' you will get a list with all
  3300. loaded code pointers.
  3301.  
  3302. This command returns the pointer to the code in 'RC'.
  3303.  
  3304. Other help: unresident_cmd script_cmd go_cmd
  3305.             ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3306. ===
  3307. @Command: unresident_cmd
  3308. -----------------------
  3309.  
  3310.    UNResident <Pointer to code>
  3311.  
  3312.  
  3313. Unload a file loaded with 'resident'. All resident files are automatically
  3314. unloaded when PowerVisor quits.
  3315.  
  3316. Other help: resident_cmd script_cmd go_cmd
  3317.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3318. ===
  3319. @Help general
  3320. ------------
  3321. You can type one of the following for more information on a specific
  3322. item:
  3323.  
  3324.       help snap            for the screen snap feature
  3325.       help keys            for information about keys
  3326.       help input           for info about the input editing possibilities
  3327.       help redirection     for redirection to a file
  3328.       help files           for all the files PowerVisor uses
  3329.       help historybuf      the history buffer
  3330.       help portprint       for the portprint facility
  3331.       help autodefault     for the automatic default feature
  3332.       help templates       for the template feature
  3333. ===
  3334. @Help templates
  3335. --------------
  3336. If you are not sure about the syntax for a command you can ask the
  3337. command template.
  3338.  
  3339.  
  3340. Examples :
  3341.  
  3342.    list?
  3343.    List [<list>]
  3344.  
  3345.    tr ?
  3346.    TRace [ 'n' <number> | 'b' | 'r' <register> | 'u'['t'] <address>
  3347.          | 'o'['t'] | 'c' <condition> | 's' | 'g'['t'] | 'h' | 'f'
  3348.          | 't' | 'j' ]
  3349.  
  3350.    openlw ?
  3351.    RC,<lwin> <- OPENLw <physical window> <logwin name> <cols> <rows>
  3352.                 [<brother> <where> [<number of columns or lines>]]
  3353.  
  3354.  
  3355.  
  3356. To use this feature you must have PowerVisor-help and PowerVisor-ctrl
  3357. in your s: directory.
  3358. You can also show the template with the 'help' command :
  3359.  
  3360.    help list_tmp
  3361.  
  3362.  
  3363. The third example ('openlw ?') is a bit special. The '<-' arrow indicates
  3364. that the command returns something. In this case the command returns
  3365. something to the 'RC' variable and also to the command caller. If you want
  3366. to see the result of a command (without looking at the 'RC' variable) you
  3367. must use the group operator :
  3368.  
  3369.    result={openlw ...}
  3370. ===
  3371. @Help files
  3372. ----------
  3373. PowerVisor uses the following files:
  3374.  
  3375.       s:PowerVisor-startup
  3376.           script file with all the initialization commands you find
  3377.           useful. This file is not neccesary
  3378.       s:PowerVisor-menus
  3379.           This file is only used by the AmigaDOS 2.0 version of
  3380.           PowerVisor. It contains the description of all menus
  3381.           used in PowerVisor. This file is not really needed, but
  3382.           you won't have any menus if you don't have this file
  3383.       s:PowerVisor-help
  3384.           This is the help file. If this file does not exist, you have no
  3385.           online help.
  3386.           You can change the help file if you like. After you have changed
  3387.           it you must type:
  3388.               'makehelp s:PowerVisor-help s:PowerVisor-ctrl word 2'
  3389.           to update the PowerVisor-ctrl file.
  3390.       s:PowerVisor-ctrl
  3391.           This is the control file for the help file. Without this file
  3392.           you have no online help. See the QuickHelp manual for more
  3393.           details about this help format.
  3394.       s:PowerVisor-errors
  3395.           This file contains all errormessages. When this file is not
  3396.           available PowerVisor will print errornumbers rather than messages.
  3397.           You can change this file. Please make sure that each line in this
  3398.           file is 70 bytes long (return included).
  3399.       s:PowerVisor-config
  3400.           This file contains config information for PowerVisor. All things
  3401.           you can install with the 'mode' and 'prefs' commands are in this
  3402.           file. If this file is not present, default values are used.
  3403.       libs:powervisor.library
  3404.           This is the portprint library. PowerVisor needs this library.
  3405.       s:pv/
  3406.           This subdirectory is the prefered subdirectory for scripts
  3407.           and structure definition files.
  3408. ===
  3409. @Screen snap feature
  3410. -------------------
  3411. When you press the leftmousebutton PowerVisor will copy the word under
  3412. the mousepointer to the commandline.
  3413.  
  3414. Example:
  3415.    Let's say you want to list some information for a task
  3416.    You type:
  3417.       task                 to go to the current list 'task'
  3418.       list                 list all tasks
  3419.       memory input         to list the memory for the input device
  3420.                            task
  3421.    Let's say you want to continue the memory list at the second longword
  3422.    on your screen (in the memory list).
  3423.    Simply take your mouse and click on the longword you want.
  3424.    It will appear in the commandline.
  3425.  
  3426. Other help: mode_cmd
  3427.             ¯¯¯¯¯¯¯¯
  3428. ===
  3429. @Help keys information
  3430. ---------------------
  3431. You can interrupt a command at any time by pressing <Esc>.
  3432.  
  3433. When you want PowerVisor to appear. Simply press
  3434. <Right-Alt>+<Right-Shift>+'/' (the key at the left of the <right-shift>)
  3435. to bring the PowerVisor screen in front of all other screens. This is
  3436. also the key to return from 'hold' mode (see the 'hold' command).
  3437.  
  3438. If your last command was a memory list (with 'memory' or 'view') or a
  3439. disassembly (with 'unasm') you can press <enter> to continue this listing.
  3440.  
  3441. Using the <Left-Alt> key in combination with the numeric keypad you can
  3442. scroll the logical window. With the <Tab> key you can select the logical
  3443. window to scroll (this is called the active logical window).
  3444.  
  3445. Using the <Ctrl> key in combination with the numeric keypad you can scroll
  3446. in the debug logical window.
  3447.  
  3448. To pause the output of PowerVisor use the <Right-Alt>+<Help> key.
  3449.  
  3450.  
  3451. Other help: hold_cmd memory_cmd unasm_cmd prefs_cmd
  3452.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3453. ===
  3454. @Help input editing capabilities
  3455. -------------------------------
  3456. PowerVisors editing field is a stringgadget. You can use all editing
  3457. possibilities you have in any other stringgadget. In addition you
  3458. can use the 'snap' facility.
  3459. You can also use the 'history' facility.
  3460. The stringgadget is 400 chars long (default).
  3461.  
  3462. Other help: historybuf variables snap prefs_cmd
  3463.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3464. ===
  3465. @Help redirection
  3466. ----------------
  3467. You can redirect the output of a command to a file.
  3468.  
  3469. Example:
  3470.       log ram:outputfile
  3471.       list libs
  3472.       unasm $1000 50
  3473.       log
  3474.  
  3475. or to nil.
  3476.  
  3477. Example:
  3478.       -list
  3479.       (is useful when you log output to a file for example)
  3480.  
  3481. If you want no feedback you can use :
  3482.  
  3483.       ~list
  3484.       (This ~ operator is useful when you want to attach a command to
  3485.       a key for example)
  3486.  
  3487. Or no output and no feedback :
  3488.  
  3489.       ~-list      (Note ! don't change the order or it won't work)
  3490.  
  3491. If you only want to redirect one command you can use the 'to' command :
  3492.  
  3493.       to file list task
  3494.  
  3495.       or
  3496.  
  3497.       to file -list task
  3498.  
  3499. Other help: log_cmd attach_cmd to_cmd
  3500.             ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  3501. ===
  3502. @Help historybuf
  3503. ---------------
  3504. PowerVisor has a history buffer (like ConMan or Shell).
  3505. The default number of lines for this history buffer is 20. You can specify
  3506. another number with:
  3507.    prefs history <lines>
  3508. lines must be between 2 and 1000.
  3509.  
  3510. Starting with PowerVisor V1.10 the history buffer behaves exactly like
  3511. the history buffer in the AmigaDOS 2.0 shell (except for the search
  3512. history feature, but this is provided in the standard s:PowerVisor-startup
  3513. file).
  3514.  
  3515. Use the <up> key to go to the previous command. Use the <down> key to go
  3516. back.
  3517.  
  3518. Other help: variables prefs_cmd
  3519.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3520. ===
  3521. @Help portprint
  3522. --------------
  3523. When you have the powervisor.library installed in your libs: directory
  3524. you can use the portprint facility.
  3525.  
  3526. Simply open the powervisor.library in your program and use the correct
  3527. functions.
  3528.  
  3529. Look at 'pptest.asm' for an example.
  3530.  
  3531.    PP_InitPortPrint()
  3532.       This function initializes the msgport for you. You need only
  3533.       do this once. The result you get in d0 is the pointer to the
  3534.       replyport (or null if no success). Use this pointer in all
  3535.       following commands.
  3536.    PP_StopPortPrint(a0)
  3537.       Clear the msgports for portprint. You need only do this once.
  3538.       a0 is the pointer to the replyport (the result from InitPortPrint).
  3539.    PP_ExecCommand(a0,a1,a2,d0)
  3540.       This routine is provided for the use of the 'addfunc' command, but
  3541.       you are free to use it for your own purposes.
  3542.       a0 is the pointer to the replyport. a1 is a pointer to data (may
  3543.       be 0), a2 is a pointer to a commandstring that you want to execute.
  3544.       d0 is the size of the data (may be 0). When you call this routine
  3545.       PowerVisor will first make a copy of your data. PowerVisor will
  3546.       then execute the command (note ! PowerVisor will execute it, the
  3547.       calling task will only wait until PowerVisor is ready). The command
  3548.       that is executed will get the pointer to the copy of the data in
  3549.       the 'rc' variable. You can return a result from this command (using
  3550.       the 'void' command for example). This result will be returned in
  3551.       d0.
  3552.    PP_DumpRegs(a0)
  3553.       Dump all registers on the PowerVisor screen.
  3554.       a0 is the pointer to the replyport.
  3555.    PP_Print(a0,a1)
  3556.       Print one line of text on the PowerVisor screen.
  3557.       a0 is the pointer to the replyport.
  3558.       a1 is the pointer to the text to print.
  3559.    PP_PrintNum(a0,d0)
  3560.       Print a number on the PowerVisor screen.
  3561.       a0 is the pointer to the replyport.
  3562.       d0 is the number to print.
  3563. ===
  3564. @Help group_op
  3565. -------------
  3566. You can use the group operator to group several commands together for
  3567. sequential execution.
  3568.  
  3569. There are two possible forms:
  3570.  
  3571.    - As a command:
  3572.        {a=1000;b=2000;disp a*b}
  3573.      will execute a=1000, b=2000 and disp a*b in that order.
  3574.  
  3575.    - As an expression:
  3576.        disp {a=1000;b=2000;void a*b}+1
  3577.      will execute a=1000, b=2000 and void a*b in that order. Because
  3578.      'void' is the last command, the result from this command is taken
  3579.      as the result of the group operator. In this case this is 2000000.
  3580.      So the result on screen will be 2000001.
  3581.  
  3582. Other help: expressions disp_cmd void_cmd
  3583.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3584. ===
  3585. @Help special_op
  3586. ---------------
  3587. The special '@' operator is used for the registers of the current debug
  3588. task.
  3589.  
  3590.    When you are debugging a task you can display a register for this task
  3591.    with
  3592.       disp @d4
  3593.    or
  3594.       disp @pc
  3595.    or
  3596.       disp @sp
  3597.    or
  3598.       disp @a0
  3599.  
  3600.    You can also change registers
  3601.    with
  3602.       @d0=4
  3603.  
  3604.  
  3605. Other help: variables expressions debugging assignment_op
  3606.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯
  3607. ===
  3608. @Help autodefault
  3609. ----------------
  3610. There are a lot of commands that expect arguments that quite often
  3611. reside in some list. Most of these commands only expect one type
  3612. of list. For these commands PowerVisor implements the autodefault
  3613. feature. Normally when you type a string as an integer argument,
  3614. this string will be interpretated as a member of the current list.
  3615. However, when a command uses autodefault, it can set it's own default
  3616. list. For example, the CloseWindow command should only be used
  3617. on windows. Therefore you can always use CloseWindow as if 'wins'
  3618. is the current list. Simply type closewindow with the title of
  3619. the window regardless of the current list.
  3620. If it should happen that you really want to closewindow something
  3621. else (you never know), you can always specify the list using the
  3622. list operator.
  3623.  
  3624. Here are some of the commands that use this feature and their current list
  3625. they use:
  3626.    RemFunc        : func
  3627.    LoadFd         : libs
  3628.    AddFunc        : libs
  3629.    UnloadFd       : fdfi
  3630.    RemCrash       : crsh
  3631.    Freeze         : task
  3632.    UnFreeze       : task
  3633.    Kill           : task
  3634.    TaskPri        : task
  3635.    Hunks          : task
  3636.    CurDir         : task
  3637.    RemStruct      : stru
  3638.    Interprete     : stru
  3639.    Peek           : stru
  3640.    APeek          : stru
  3641.    DUse           : dbug
  3642.    RemAttach      : attc
  3643.    Gadgets        : wins
  3644.    CloseWindow    : wins
  3645.    CloseScreen    : scrs
  3646.    RemHand        : ihan
  3647.    RemRes         : resm
  3648.    LINES          : lwin
  3649.    COLS           : lwin
  3650.    GETCOL         : lwin
  3651.    GETROW         : lwin
  3652.    SetFont        : lwin
  3653.    ColRow         : lwin
  3654.    ...
  3655.  
  3656. Other help: list_op syslists
  3657.             ¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3658. ===
  3659. @Help debugging
  3660. --------------
  3661. PowerVisor has powerfull debugging features.
  3662. You can debug multiple tasks at the same time.
  3663.  
  3664. The following commands are available:
  3665.  
  3666.    debug          to control the debug tasks
  3667.    trace          to trace execution
  3668.    duse           to set a new debug task
  3669.    dscroll        scroll the debug logical window
  3670.    dstart         set the start address of the debug logical window
  3671.    drefresh       refresh the debug display
  3672.    break          set breakpoints
  3673.    symbol         control symboltable
  3674.  
  3675. You can find the debug nodes in the 'dbug' list.
  3676.  
  3677. Also look at the 'prefs' command. You can install preferences for
  3678. the debug display.
  3679.  
  3680. Note: It is possible to set breakpoints in a program BEFORE PowerVisor
  3681. is started. These are not real breakpoints in the strict sense. When
  3682. you include an ILLEGAL instruction in your program PowerVisor will trap
  3683. the crash (if PowerVisor is running of course). Using 'debug t' with
  3684. the crashnode or tasknode you can then resume debugging starting at
  3685. that point. Make sure that 'mode patch' is installed to get consistent
  3686. results. If 'mode nopatch' is used PowerVisor will trap the crash too
  3687. late (before the guru in fact).
  3688.  
  3689. Other help: debug_cmd trace_cmd duse_cmd syslists
  3690.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3691.             break_cmd symbol_cmd getdebug_func dscroll_cmd dstart_cmd
  3692.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  3693.             prefs_cmd
  3694.             ¯¯¯¯¯¯¯¯¯
  3695. ===
  3696. @Command: dscroll_cmd
  3697. --------------------
  3698.  
  3699.    DScroll <offset>
  3700.  
  3701.  
  3702. Scroll <offset> bytes up in the full screen debugger. You can only use this
  3703. command when the 'debug' logical window is open (with 'dwin'). <offset>
  3704. can be negative.
  3705.  
  3706. Other help: debug_cmd dwin_cmd dstart_cmd toppc_func botpc_func
  3707.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  3708. ===
  3709. @Command: dstart_cmd
  3710. -------------------
  3711.  
  3712.    DSTart <address>
  3713.  
  3714.  
  3715. Set the start of the debug logical window. You can only use this
  3716. command when the 'debug' logical window is open (with 'dwin').
  3717.  
  3718. Other help: debug_cmd dwin_cmd dscroll_cmd toppc_func botpc_func
  3719.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  3720. ===
  3721. @Function: toppc_func
  3722. --------------------
  3723.  
  3724.    TOPPC( )
  3725.  
  3726.  
  3727. This function returns the program counter visible at the top of the 'debug'
  3728. logical window.
  3729. You can set this program counter using the 'dstart' or 'dscroll' commands.
  3730.  
  3731. Other help: dscroll_cmd dstart_cmd botpc_func dwin_cmd
  3732.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3733. ===
  3734. @Function: botpc_func
  3735. --------------------
  3736.  
  3737.    BOTPC( )
  3738.  
  3739.  
  3740. This function returns the program counter visible at the bottom of the
  3741. 'debug' logical window.
  3742. You can set this program counter using the 'dstart' or 'dscroll' commands.
  3743.  
  3744. Other help: dscroll_cmd dstart_cmd toppc_func dwin_cmd
  3745.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3746. ===
  3747. @Command: debug_cmd
  3748. ------------------
  3749.  
  3750.    RC <- DEBug 'n' | 'l' <filename> | 't' <task node> | ('r'|'f')
  3751.                 [<debug node>] | 'd' <name>
  3752.  
  3753.  
  3754. Use this command to control the debug tasks.
  3755.  
  3756.    debug n     Waits for the next 'LoadSeg' and make a debugtask from that
  3757.                one.
  3758.    debug l <filename>
  3759.                Load an executable program to debug.
  3760.                Symbols are automatically loaded if they exist.
  3761.    debug t <task node>
  3762.                Take an existing running task to debug. (Normally
  3763.                it is not safe to take a task in wait state. It is
  3764.                better that the task is ready)
  3765.                You can also take a crash node to debug. In that case
  3766.                you can singlestep the task from where it crashed.
  3767.    debug f     Remove the current debugnode and freeze the task.
  3768.    debug f <debug node>
  3769.                Remove the specified debugnode and freeze.
  3770.    debug r     Remove the current debugnode.
  3771.                The task will simply continue executing from where it
  3772.                was interrupted.
  3773.    debug r <debug node>
  3774.                Remove the specified debugnode.
  3775.    debug d <name>
  3776.                Create dummy debugnode for symbols only.
  3777.  
  3778. When a new debug task is created, it is taken from the task list
  3779. and put in the 'dbug' list. The current debug task is set to the
  3780. new debug task.
  3781.  
  3782. Other help: debugging duse_cmd trace_cmd break_cmd
  3783.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3784.             symbol_cmd dbug_list
  3785.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3786. ===
  3787. @Command: drefresh_cmd
  3788. ---------------------
  3789.  
  3790.    DRefresh
  3791.  
  3792.  
  3793. This command refreshes the debug display.
  3794.  
  3795. Other help: debugging debug_cmd duse_cmd
  3796.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ 
  3797. ===
  3798. @Command: duse_cmd
  3799. -----------------
  3800.  
  3801.    DUse <debug node>
  3802.  
  3803.  
  3804. Set the current debug task.
  3805. Use the debug function to determine the current debug node.
  3806.  
  3807. Other help: debugging debug_cmd trace_cmd
  3808.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ 
  3809.             break_cmd getdebug_func symbol_cmd drefresh_cmd with_cmd
  3810.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3811. ===
  3812. @Command: with_cmd
  3813. -----------------
  3814.  
  3815.    WITh <debug node> <command>
  3816.  
  3817.  
  3818. This command temporarily sets another current debug task and executes
  3819. <command>. This is useful if you want to view memory with another set
  3820. of symbols.
  3821.  
  3822. Example:
  3823.  
  3824.    with MyBuggyProgram memory 070540
  3825.  
  3826. Other help: debugging debug_cmd trace_cmd
  3827.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ 
  3828.             break_cmd getdebug_func symbol_cmd drefresh_cmd duse_cmd
  3829.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3830. ===
  3831. @Function: getdebug_func
  3832. -----------------------
  3833.  
  3834.    GETDEBUG( )
  3835.  
  3836.  
  3837. Return the current debug node.
  3838.  
  3839. Other help: duse_cmd with_cmd dbug_list
  3840.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3841. ===
  3842. @Command: trace_cmd
  3843. ------------------
  3844.  
  3845.    TRace [ 'n' <number> | 'b' | 'r' <register> | 'u'['t'] <address>
  3846.          | 'o'['t'] | 'c' <condition> | 's' | 'g'['t'] | 'h' | 'f'
  3847.          | 't' | 'j' ]
  3848.  
  3849. Use this command to singlestep a program (Use 'debug' first to make
  3850. a debug task).
  3851.  
  3852.    trace                   Trace one instruction.
  3853.    trace n <number>        Trace <number> instructions. Tracing is done
  3854.                            in singlestep mode.
  3855.    trace b                 Trace until the next branch (singlestep mode).
  3856.    trace t                 Skip BSR or JSR. If not a BSR or JSR simple
  3857.                            trace is used. This function works in ROM.
  3858.                            Execute mode is used.
  3859.    trace j                 Trace until use of library ROM function:
  3860.                            JSR or JMP (a6).
  3861.                            Tracing is done in singlestep mode.
  3862.    trace r <register>      Trace until a specified register is changed
  3863.                            (singlestep mode).
  3864.                            register can be d0-d7, a0-a6 or sp.
  3865.    trace u <address>       Trace until the programcounter is equal to
  3866.                            <address>. Tracing is done in execute mode.
  3867.    trace ut <address>      Same as above but use singlestep mode instead.
  3868.    trace o                 Trace over the current instruction. Tracing
  3869.                            is done in execute mode.
  3870.    trace ot                Same as above but use singlestep mode instead.
  3871.    trace c <condition>     Trace until a condition is satisfied. This
  3872.                            condition is a string. Example:
  3873.                            trace c @d1==@d2 will trace until register
  3874.                            d1 is equal to register d2. Tracing is done
  3875.                            in singlestep mode.
  3876.    trace s                 Skip an instruction
  3877.    trace i                 Do not trace. Simply show the current registers
  3878.                            and instructions.
  3879.    trace g                 Execute until a breakpoint is encountered
  3880.    trace gt                Same as above but tracing is done in singlestep
  3881.                            mode.
  3882.    trace h                 Interrupt the tracing or executing of the
  3883.                            current debug task.
  3884.    trace f                 Interrupt the tracing or executing of the
  3885.                            current debug task as soon as this task is
  3886.                            in ready state.
  3887.  
  3888. Other help: debugging debug_cmd duse_cmd break_cmd
  3889.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3890.             symbol_cmd
  3891.             ¯¯¯¯¯¯¯¯¯¯
  3892. ===
  3893. @Command: break_cmd
  3894. ------------------
  3895.  
  3896.    RC <- Break ('a'|'c'|'n'|'t'|'p'|'r') <address> [<condition>|<timeout>]
  3897.  
  3898.  
  3899. Install a breakpoint for the current debugtask.
  3900.  
  3901.    break a <address> <timeout>   Breakpoint only breaks after the <timeout>
  3902.                                  counter becomes zero.
  3903.    break c <address> <condition> Only break if the condition is true.
  3904.    break n <address>             Normal breakpoint.
  3905.    break t <address>             Temporary breakpoint.
  3906.    break p <address>             Profiler breakpoint. Does not break. Only
  3907.                                  increments a counter.
  3908.    break r <breakpoint number>   Remove a breakpoint.
  3909.  
  3910. Examples:
  3911.    break c 00c05320 (@d0<@d1)&&(@pc>00c05380)
  3912.  
  3913.       This breakpoint will cause a break if d0 is lower than d1 and
  3914.       the programcounter is greater than 00c05380 (a bit stupid to
  3915.       include the programcounter in such an expression because the
  3916.       breakpoint is on a fixed position :-)
  3917.  
  3918. Other help: debugging debug_cmd duse_cmd
  3919.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  3920.             break_cmd trace_cmd symbol_cmd
  3921.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  3922. ===
  3923. @Command: symbol_cmd
  3924. -------------------
  3925.  
  3926.    SYmbol 'l' <filename> [<hunkaddress>] | 'c' | 'a' <symbol> <value> |
  3927.           'r' <symbol> | 's'
  3928.  
  3929.  
  3930. Control the symboltable for the current debugtask.
  3931.  
  3932.    symbol l <filename> [<hunkaddress>]
  3933.                Load the symbols for the current debug task.
  3934.                If you give <hunkaddress>, PowerVisor will load the symbols
  3935.                for the given hunks. This is extremely useful when you have
  3936.                created a dummy debug task.
  3937.                Note that <hunkaddress> is 4 more than the number given in
  3938.                the hunklist with the 'hunks' command.
  3939.                Note that <hunkaddress> is not optional when you are loading
  3940.                symbols for a dummy debug task.
  3941.    symbol c    Clear all the symbols for the current debug task.
  3942.    symbol a <symbol> <value>
  3943.                Add a symbol with a specified value the the symbol list
  3944.                for the current debug task.
  3945.    symbol r <symbol>
  3946.                Remove a symbol from the symbol list for the current
  3947.                debug task.
  3948.    symbol s    List all symbols for the current debug task.
  3949.  
  3950. Other help: debugging debug_cmd trace_cmd duse_cmd
  3951.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ 
  3952.             break_cmd trace_cmd
  3953.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯
  3954. ===
  3955. @Command: rblock_cmd
  3956. -------------------
  3957.  
  3958.    RC,<address> <- RBlock <Unit number> <block number> [<address>]
  3959.  
  3960.  
  3961. Read a block from a disk. This command will allocate the memory for it
  3962. if you do not specify <address>. The pointer to this memory will be
  3963. stored in RC. You can read a block in your own memory if you specify
  3964. the address. This address must be in chip ram.
  3965. You can free the memory this command allocated with 'free'.
  3966.  
  3967. When you let 'rblock' allocate the memory for you you can also free
  3968. this memory with 'cleanup'. It will also be cleaned up when you
  3969. quit PowerVisor.
  3970.  
  3971.  
  3972. Other help: wblock_cmd alloc_func free_func variables cleanup_cmd
  3973.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  3974. ===
  3975. @Function: base_func
  3976. -------------------
  3977.  
  3978.    BASE()
  3979.  
  3980.  
  3981. This function returns the ptr to the first element in the current list.
  3982.  
  3983. Example:
  3984. > task           ;Goto the task list
  3985. > list           ;To get the following output:
  3986. Task node name      : Node     Pri StackPtr  StackS Stat Command         Acc
  3987. -----------------------------------------------------------------------------
  3988. RAM                 : 00C20C68 00  00C2117A    1200 Rdy             PROC -
  3989. golem.device        : 00C05C8A 05  00C064B6    2048 Wait            TASK -
  3990. NEWCON              : 00C2CAA8 05  00C2DAA2    4000 Wait            PROC -
  3991. ARP Shell Process   : 00C26180 00  00C270F2    4000 Wait            (03) -
  3992. PowerVisor1.0.task  : 00C31C28 00  00C76132    1024 Wait            TASK -
  3993. File System         : 00C16758 0A  00C16AF6     840 Wait            PROC -
  3994. File System         : 00C172E8 0A  00C17686     840 Wait            PROC -
  3995. trackdisk.device    : 00C068DE 05  00C09F2E     512 Wait            TASK -
  3996. trackdisk.device    : 00C17846 05  00C17A5E     512 Wait            TASK -
  3997. DH0                 : 00C0DF08 0A  00C0E356    1000 Wait            PROC -
  3998. input.device        : 00C03BFA 14  00C04C00    4096 Wait            TASK -
  3999. ARP Background She  : 00C66EB8 00  00C75CD2    4000 Run  pv         (01) -
  4000. > d base()       ;And you get:
  4001. 00C20C68,12717160
  4002.  
  4003. Other help: list_cmd lists
  4004.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯
  4005. ===
  4006. @Command: void_cmd
  4007. -----------------
  4008.  
  4009.    <result> <- Void {<argument>...}
  4010.  
  4011.  
  4012. This command does absolutely nothing except evaluating it's arguments.
  4013. You can use this command to execute library functions. It is also useful
  4014. to return a result from a command group. And finaly you can use it to
  4015. copy a PowerVisor variable to ARexx.
  4016.  
  4017. Other help: arguments integers expressions disp_cmd
  4018.             ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  4019. ===
  4020. @Command: wblock_cmd
  4021. -------------------
  4022.  
  4023.    WBlock <Unit number> <block number> <address>
  4024.  
  4025.  
  4026. Write a block to disk. <address> must be in chip ram.
  4027. A block is 1024 bytes big.
  4028.  
  4029. Other help: rblock_cmd
  4030.             ¯¯¯¯¯¯¯¯¯¯
  4031. ===
  4032. @Command: opendev_cmd
  4033. --------------------
  4034.  
  4035.    RC,<pvdevice> <- Opendev <device name> [<unit> [<flags>]]
  4036.  
  4037.  
  4038. Open a device for use with the 'closedev','devinfo' and 'devcmd' commands.
  4039. The result (in RC) is a pointer to a block containing the pointer to the
  4040. port and the pointer to the IORequest (256 bytes big) in that order.
  4041. Use this block as the argument to 'closedev','devinfo' and 'devcmd'.
  4042.  
  4043. Example:
  4044.    opendev "trackdisk.device"
  4045.    dev=rc
  4046.    devcmd dev 9 0 1              ;Put the drive motor on
  4047.    ...
  4048.    devcmd dev 9 0 0              ;Off again
  4049.    devinfo dev
  4050.    closedev dev
  4051.  
  4052. The first two lines in this example could also be written as:
  4053.  
  4054.    dev={opendev "trackdisk.device"}
  4055.  
  4056.  
  4057. Other help: closedev_cmd devcmd_cmd devinfo_cmd group_op
  4058.             ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯
  4059. ===
  4060. @Command: closedev_cmd
  4061. ---------------------
  4062.  
  4063.    CLOSEDev <device block>
  4064.  
  4065.  
  4066. Close a device opened with 'opendev'.
  4067.  
  4068. Other help: opendev_cmd devcmd_cmd devinfo_cmd
  4069.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  4070. ===
  4071. @Command: devinfo_cmd
  4072. --------------------
  4073.  
  4074.    DEVInfo <device block>
  4075.  
  4076.  
  4077. Show port and iorequest information for a device opened with 'opendev'.
  4078.  
  4079. Other help: opendev_cmd closedev_cmd devcmd_cmd
  4080.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  4081. ===
  4082. @Command: devcmd_cmd
  4083. -------------------
  4084.  
  4085.    RC <- DEVCmd <dev> <command> [<flags> [<length> [<data> [<offset>]]]]
  4086.  
  4087.  
  4088. Give a command to a device opened with 'opendev'. The parameters specified
  4089. are for the IORequest. If you do not specify these parameters ('flags',...)
  4090. the IORequest will remain unchanged.
  4091.  
  4092. Other help: opendev_cmd closedev_cmd devinfo_cmd
  4093.             ¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯
  4094. ===
  4095. @Command: remhand_cmd
  4096. --------------------
  4097.  
  4098.    REMHand <input handler>
  4099.  
  4100.  
  4101. Remove an input handler. You can list the inputhandlers in the 'IHan' list.
  4102.  
  4103. Other help: syslists
  4104.             ¯¯¯¯¯¯¯¯
  4105. ===
  4106. @Command: go_cmd
  4107. ---------------
  4108.  
  4109.    <result> <- GO <address> [<commandline>]
  4110.  
  4111.  
  4112. Start executing at <address>.
  4113. You can make inline code with this command.
  4114. The register are preset to certain values (see the 'script' command).
  4115.  
  4116. Example:
  4117.    go "Nu"  does nothing because "Nu" is a 'RTS'.
  4118.  
  4119. Other help: script_cmd pvcall_cmd
  4120.             ¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  4121. ===
  4122. @Lists: exec_list
  4123. ----------------
  4124.  
  4125.    Exec
  4126.  
  4127. This is the listing of the ExecBase.
  4128. You can use the listaddress operator to change values in this list.
  4129. 'Info' is not possible.
  4130. There is more info in DOS 2.0.
  4131.  
  4132. Other help: syslists info_cmd list_cmd base()
  4133.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4134. ===
  4135. @Lists: intb_list
  4136. ----------------
  4137.  
  4138.    Intb
  4139.  
  4140. This is the listing of the IntuitionBase.
  4141. You can use the listaddress operator to change values in this list.
  4142. 'Info' is not possible.
  4143.  
  4144. Other help: syslists info_cmd list_cmd base()
  4145.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4146. ===
  4147. @Lists: graf_list
  4148. ----------------
  4149.  
  4150.    Graf
  4151.  
  4152. This is the listing of the Graphics base.
  4153. You can use the listaddress operator to change values in this list.
  4154. 'Info' is not possible.
  4155. There is more info in DOS 2.0.
  4156.  
  4157. Other help: syslists info_cmd list_cmd base()
  4158.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4159. ===
  4160. @Lists: task_list
  4161. ----------------
  4162.  
  4163.    Task
  4164.  
  4165. This is the listing of all the current tasks and processes.
  4166. The listaddress operator is not available.
  4167.  
  4168. Simple information ('list'):
  4169.    Task node name    : name for this task or process
  4170.    Node              : pointer to this node
  4171.    Pri               : task priority
  4172.    StackPtr          : SP register for task
  4173.    StackS            : stacksize
  4174.    Stat              : task state: (wait,rdy,run,cold,...)
  4175.    Command           : command if process is a cli followed by
  4176.                        an indication 'TASK', 'PROC' or cli number
  4177.    Acc               : accounting info if account is enabled
  4178.  
  4179. Expanded information ('info'):
  4180.    If task: listing of task structure
  4181.    if process: listing of task structure and process structure
  4182.    if cli: listing of task, process and cli structure
  4183.  
  4184. There is more info in DOS 2.0 (for Process).
  4185.  
  4186. Other help: syslists info_cmd list_cmd base()
  4187.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4188. ===
  4189. @Lists: libs_list
  4190. ----------------
  4191.  
  4192.    Libs
  4193.  
  4194. This is the listing of all the available libraries.
  4195. The listaddress operator is not available.
  4196.  
  4197. Simple information ('list'):
  4198.    Library node name : name for this library
  4199.    Node              : pointer to this node
  4200.    Pri               : library priority
  4201.    NegSize           : negative library size
  4202.    PosSize           : postive library size
  4203.    Sum               : checksum
  4204.    OpenCnt           : library usage count
  4205.  
  4206. Expanded information ('info'):
  4207.    You get the idstring, version and revision of this library.
  4208.  
  4209. Other help: syslists info_cmd list_cmd base()
  4210.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4211. ===
  4212. @Lists: devs_list
  4213. ----------------
  4214.  
  4215.    Devs
  4216.  
  4217. This is the listing of all the available devices.
  4218. The listaddress operator is not available.
  4219.  
  4220. Simple information ('list'):
  4221.    Device node name  : name for this device
  4222.    Node              : pointer to this node
  4223.    Pri               : device priority
  4224.    NegSize           : negative device size
  4225.    PosSize           : postive device size
  4226.    Sum               : checksum
  4227.    OpenCnt           : device usage count
  4228.  
  4229. Expanded information ('info'):
  4230.    You get the idstring, version and revision of this device.
  4231.  
  4232. Other help: syslists info_cmd list_cmd base()
  4233.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4234. ===
  4235. @Lists: reso_list
  4236. ----------------
  4237.  
  4238.    Reso
  4239.  
  4240. This is the listing of all the available resources.
  4241. The listaddress operator is not available.
  4242.  
  4243. Simple information ('list'):
  4244.    Resource node name: name for this resource
  4245.    Node              : pointer to this node
  4246.    Pri               : resource priority
  4247.    NegSize           : negative resource size
  4248.    PosSize           : postive resource size
  4249.    Sum               : checksum
  4250.    OpenCnt           : resource usage count
  4251.  
  4252. Expanded information ('info'):
  4253.    You get the idstring, version and revision of this resource.
  4254.  
  4255. Other help: syslists info_cmd list_cmd base()
  4256.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4257. ===
  4258. @Lists: memr_list
  4259. ----------------
  4260.  
  4261.    Memr
  4262.  
  4263. This is the listing of all the available memory lists.
  4264. The listaddress operator is not available.
  4265.  
  4266. Simple information ('list'):
  4267.    Memory node name  : name for this memorylist
  4268.    Node              : pointer to this node
  4269.    Pri               : memory priority
  4270.    Attr              : attributes needed with AllocMem
  4271.    First             : first free memory chunk
  4272.    Lower             : lower memory
  4273.    Upper             : upper memory
  4274.    Free              : free memory
  4275.  
  4276. Expanded information ('info'):
  4277.    For each free memoryblock you get the pointer and the size.
  4278.  
  4279. Other help: syslists info_cmd list_cmd base()
  4280.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4281. ===
  4282. @Lists: intr_list
  4283. ----------------
  4284.  
  4285.    INTR
  4286.  
  4287. This is the listing of all the available interrupts.
  4288. The listaddress operator is not available.
  4289.  
  4290. Simple information ('list'):
  4291.    Interrupt node name : name for this interrupt
  4292.    Node                : pointer to this node
  4293.    Pri                 : interrupt priority
  4294.    Data                : pointer to data
  4295.    Code                : pointer to code
  4296.  
  4297. Expanded information ('info'):
  4298.    ?
  4299.  
  4300. Other help: syslists info_cmd list_cmd base()
  4301.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4302. ===
  4303. @Lists: port_list
  4304. ----------------
  4305.  
  4306.    Port
  4307.  
  4308. This is the listing of all the available message ports.
  4309. The listaddress operator is not available.
  4310.  
  4311. Simple information ('list'):
  4312.    MsgPort node name : name for this MsgPort
  4313.    Node              : pointer to this node
  4314.    Pri               : port priority
  4315.    SigBit            : signal bit
  4316.    SigTask           : task to signal
  4317.  
  4318. Expanded information ('info'):
  4319.    No more information (in future I will list all pending messages).
  4320.  
  4321. Other help: syslists info_cmd list_cmd base()
  4322.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4323. ===
  4324. @Lists: wins_list
  4325. ----------------
  4326.  
  4327.    Wins
  4328.  
  4329. This is the listing of all the available windows on all screens.
  4330. The listaddress operator is not available.
  4331.  
  4332. Simple information ('list'):
  4333.    Window name       : window title
  4334.    Address           : pointer to this window
  4335.    Left              : leftedge
  4336.    Top               : topedge
  4337.    Width             : width
  4338.    Height            : height
  4339.    WScreen           : window screen
  4340.  
  4341. Expanded information ('info'):
  4342.    A listing of the window structure.
  4343.  
  4344. There is more info in DOS2.0.
  4345.  
  4346. Other help: syslists info_cmd list_cmd base()
  4347.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4348. ===
  4349. @Lists: scrs_list
  4350. ----------------
  4351.  
  4352.    Scrs
  4353.  
  4354. This is the listing of all the available screens.
  4355. The listaddress operator is not available.
  4356.  
  4357. Simple information ('list'):
  4358.    Screen name       : screen title
  4359.    Address           : pointer to this screen
  4360.    Left              : leftedge
  4361.    Top               : topedge
  4362.    Width             : width
  4363.    Height            : height
  4364.    FirstWindow       : first window
  4365.  
  4366. Expanded information ('info'):
  4367.    A listing of the screen structure.
  4368.  
  4369. There is more info in DOS2.0.
  4370.  
  4371. Other help: syslists info_cmd list_cmd base()
  4372.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4373. ===
  4374. @Lists: font_list
  4375. ----------------
  4376.  
  4377.    Font
  4378.  
  4379. This is the listing of all the available fonts.
  4380. The listaddress operator is not available.
  4381.  
  4382. Simple information ('list'):
  4383.    Font node name    : font name
  4384.    Node              : pointer to this node
  4385.    Pri               : font priority
  4386.    YSize             : y size
  4387.    XSize             : x size
  4388.    Style             : style flags
  4389.    LoChar            : lowest defined character
  4390.    HiChar            : highest defined character
  4391.  
  4392. Expanded information ('info'):
  4393.    A listing of the font structure.
  4394.  
  4395. Other help: syslists info_cmd list_cmd base()
  4396.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4397. ===
  4398. @Lists: dosd_list
  4399. ----------------
  4400.  
  4401.    DOsd
  4402.  
  4403. This is the listing of all the available dos devices.
  4404. The listaddress operator is not available.
  4405.  
  4406. Simple information ('list'):
  4407.    Dos device name   : name for device
  4408.    Address           : pointer to this device
  4409.    Type              : device, volume or directory
  4410.    Task              : pointer to task
  4411.    Lock              : pointer to lock
  4412.    LockList          : pointer to outstanding locks
  4413.    DiskType          : disktype
  4414.  
  4415. Expanded information ('info'):
  4416.    No more information.
  4417.  
  4418. Other help: syslists info_cmd list_cmd base()
  4419.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4420. ===
  4421. @Lists: func_list
  4422. ----------------
  4423.  
  4424.    FUnc
  4425.  
  4426. This is the listing of all the available function monitor nodes.
  4427. The listaddress operator is not available.
  4428.  
  4429. Simple information ('list'):
  4430.    Function monitor  : function name we are monitoring
  4431.    Node              : pointer to this node
  4432.    Library           : library this function belongs to
  4433.    Offset            : offset for this function
  4434.    TrapTask          : last task using this function
  4435.    Count             : usage counter
  4436.    Type              : LED or NORM
  4437.  
  4438.    if Type is LED, TrapTask and Count are zero.
  4439.  
  4440. Expanded information ('info'):
  4441.    If type is LED: no more info
  4442.    If type is NORM: the last 8 tasks using this function.
  4443.  
  4444. Other help: syslists info_cmd list_cmd base()
  4445.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4446. ===
  4447. @Lists: sema_list
  4448. ----------------
  4449.  
  4450.    SEma
  4451.  
  4452. This is the listing of all the available semaphores.
  4453. The listaddress operator is not available.
  4454.  
  4455. Simple information ('list'):
  4456.    Semaphore name    : name for semaphore
  4457.    Node              : pointer to this node
  4458.    Pri               : semaphore priority
  4459.    NestCount         : ?
  4460.    QueueCount        : ?
  4461.    Owner             : semaphore owner
  4462.  
  4463. Expanded information ('info'):
  4464.    ?
  4465.  
  4466. Other help: syslists info_cmd list_cmd base()
  4467.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4468. ===
  4469. @Lists: resm_list
  4470. ----------------
  4471.  
  4472.    RESM
  4473.  
  4474. This is the listing of all the available resident modules.
  4475. The listaddress operator is not available.
  4476.  
  4477. Simple information ('list'):
  4478.    Resident name     : name for resident structure
  4479.    Address           : pointer to this resident module
  4480.    Pri               : priority
  4481.    Version           : resident version
  4482.    Flags             : flags
  4483.    IDString          : id string
  4484.  
  4485. Expanded information ('info'):
  4486.    No more info.
  4487.  
  4488. Other help: syslists info_cmd list_cmd base()
  4489.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4490. ===
  4491. @Lists: fils_list
  4492. ----------------
  4493.  
  4494.    FIls
  4495.  
  4496. This is the listing of all open files. (note that the files listed are
  4497. in fact locks).
  4498. The listaddress operator is not available.
  4499.  
  4500. Simple information ('list'):
  4501.    FileName          : name for file
  4502.    Lock              : pointer to this lock
  4503.    Access            : access type (READ or WRITE)
  4504.    Size              : current file size
  4505.    Key               : disk key
  4506.  
  4507. Expanded information ('info'):
  4508.    No more info.
  4509.  
  4510. Other help: syslists info_cmd list_cmd base()
  4511.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4512. ===
  4513. @Lists: lock_list
  4514. ----------------
  4515.  
  4516.    LOck
  4517.  
  4518. This is the listing of all locks.
  4519. The listaddress operator is not available.
  4520.  
  4521. Simple information ('list'):
  4522.    FileName          : name for lock
  4523.    Lock              : pointer to this lock
  4524.    Access            : access type (READ or WRITE)
  4525.    Size              : current file size
  4526.    Key               : disk key
  4527.  
  4528. Expanded information ('info'):
  4529.    No more info.
  4530.  
  4531. Other help: syslists info_cmd list_cmd base()
  4532.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4533. ===
  4534. @Lists: ihan_list
  4535. ----------------
  4536.  
  4537.    IHan
  4538.  
  4539. This is the listing of all input handlers.
  4540. The listaddress operator is not available.
  4541.  
  4542. Simple information ('list'):
  4543.    Handler name      : name for input handler
  4544.    Node              : pointer to this node
  4545.    Pri               : input handler priority
  4546.    Data              : pointer to inputhandler data
  4547.    Code              : pointer to inputhandler code
  4548.  
  4549. Expanded information ('info'):
  4550.    No more info.
  4551.  
  4552. Other help: syslists info_cmd list_cmd base()
  4553.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4554. ===
  4555. @Lists: fdfi_list
  4556. ----------------
  4557.  
  4558.    FDfi
  4559.  
  4560. This is the listing of all loaded fdfiles.
  4561. The listaddress operator is not available.
  4562.  
  4563. Simple information ('list'):
  4564.    Library name      : name for this fd file
  4565.    Node              : pointer to this node
  4566.    Library           : pointer to library
  4567.    Funcs             : number of functions loaded
  4568.  
  4569. Expanded information ('info'):
  4570.    A list of all library functions loaded.
  4571.  
  4572. Other help: syslists info_cmd list_cmd base()
  4573.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4574. ===
  4575. @Lists: attc_list
  4576. ----------------
  4577.  
  4578.    Attc
  4579.  
  4580. This is the listing of all macros.
  4581. The listaddress operator is not available.
  4582.  
  4583. Simple information ('list'):
  4584.    Node              : pointer to this node
  4585.    Code              : key code
  4586.    Qualifier         : key qualifier
  4587.    Command           : corresponding command
  4588.  
  4589. Expanded information ('info'):
  4590.    No more info.
  4591.  
  4592. Other help: syslists info_cmd list_cmd base() attach_cmd
  4593.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯
  4594. ===
  4595. @Lists: crsh_list
  4596. ----------------
  4597.  
  4598.    Crsh
  4599.  
  4600. This is the listing of all crashed tasks.
  4601. The listaddress operator is not available.
  4602.  
  4603. Simple information ('list'):
  4604.    Node              : pointer to this node
  4605.    Task              : pointer to crashed task
  4606.    TrapNr            : trapnumber or gurunumber
  4607.    2ndInfo           : 2nd info (for guru only)
  4608.    Guru              : 0 if task held, 1 if guru
  4609.  
  4610. Expanded information ('info'):
  4611.    No more info.
  4612.  
  4613. Other help: syslists info_cmd list_cmd base()
  4614.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4615. ===
  4616. @Lists: dbug_list
  4617. ----------------
  4618.  
  4619.    DBug
  4620.  
  4621. This is the listing of all debug tasks.
  4622. The listaddress operator is not available.
  4623.  
  4624. Simple information ('list'):
  4625.    Debug task        : name of the task to debug
  4626.    Node              : pointer to this node
  4627.    Task              : pointer to task
  4628.    InitPC            : initial pc for task
  4629.  
  4630. Expanded information ('info'):
  4631.    The listing of all breakpoints:
  4632.       Node           : pointer to breakpoint node
  4633.       Number         : breakpoint number
  4634.       Where          : breakpoint address
  4635.       UsageCnt       : breakpoint usagecount
  4636.       Type           : type of breakpoint
  4637.       Condition      : break condition (if Type='C')
  4638.  
  4639. Other help: syslists info_cmd list_cmd base()
  4640.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4641. ===
  4642. @Lists: stru_list
  4643. ----------------
  4644.  
  4645.    STru
  4646.  
  4647. This is the listing of all structure definitions.
  4648. The listaddress operator is not available.
  4649.  
  4650. Simple information ('list'):
  4651.    Structure name    : name of the structure
  4652.    Node              : pointer to this node
  4653.    Pri               : priority
  4654.    InfoBlock         : pointer to structure definition
  4655.    Strings           : pointer to field string block
  4656.  
  4657. Expanded information ('info'):
  4658.    None.
  4659.  
  4660. Other help: syslists info_cmd list_cmd base()
  4661.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4662. ===
  4663. @Lists: conf_list
  4664. ----------------
  4665.  
  4666.    COnf
  4667.  
  4668. This is the listing of all auto configs.
  4669. The listaddress operator is not available.
  4670.  
  4671. Simple information ('list'):
  4672.    Config name       : name of autoconfig node
  4673.    Node              : pointer to this node
  4674.    Pri               : autoconfig priority
  4675.    Flags             : autoconfig flags
  4676.    BAddr             : BoardAddress
  4677.    BSize             : BoardSize
  4678.    Driver            : Driver
  4679.  
  4680. Expanded information ('info'):
  4681.    The listing of the config structure.
  4682.  
  4683. Other help: syslists info_cmd list_cmd base()
  4684.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4685. ===
  4686. @Lists: moni_list
  4687. ----------------
  4688.  
  4689.    MOni
  4690.  
  4691. This is the listing of all available monitors (only DOS 2.0).
  4692. The listaddress operator is not available.
  4693.  
  4694. Simple information ('list'):
  4695.    Monitor name      : name of monitor
  4696.    Node              : pointer to this node
  4697.    Pri               : monitor priority
  4698.    SubSys            : subsystem of monitor
  4699.    SubType           : subtype of monitor
  4700.    Library           : library for monitor
  4701.    Init              : Init routine
  4702.  
  4703. Expanded information ('info'):
  4704.    The listing of the monitor structure.
  4705.  
  4706. Other help: syslists info_cmd list_cmd base()
  4707.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4708. ===
  4709. @Lists: pubs_list
  4710. ----------------
  4711.  
  4712.    PUbs
  4713.  
  4714. This is the listing of all public screens (only DOS 2.0).
  4715. The listaddress operator is not available.
  4716.  
  4717. Simple information ('list'):
  4718.    PubScreen name    : name of public screen
  4719.    Node              : pointer to this node
  4720.    Pri               : priority
  4721.    Screen            : pointer to screen
  4722.    Visitors          : number of visitors on public screen
  4723.    SigTask           : task to signal
  4724.    SigBit            : signal bit
  4725.  
  4726. Expanded information ('info'):
  4727.    The listing of the public screen structure.
  4728.  
  4729. Other help: syslists info_cmd list_cmd base()
  4730.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4731. ===
  4732. @Lists: lwin_list
  4733. ----------------
  4734.  
  4735.    LWin
  4736.  
  4737. This is the list of all logical windows in PowerVisor. There is always
  4738. at least one logical window (Main) in this list. Some other possible logical
  4739. windows are: Rexx, PPrint, Refresh, Extra and Debug.
  4740.  
  4741. Simple information ('list'):
  4742.    Logical win name  : name of logical window
  4743.    Node              : pointer to this node
  4744.    PWin              : pointer to physical window
  4745.    width             : visible width of logical window
  4746.    height            : visible height of logical window
  4747.    col               : current column
  4748.    row               : current row
  4749.    viscol            : first visible column
  4750.    visrow            : first visible row
  4751.  
  4752. Expanded information ('info'):
  4753.    The complete listing of the 'LogWin' structure (see 'TheWizardCorner'
  4754.    for more info).
  4755.  
  4756. Other help: syslists info_cmd list_cmd base()
  4757.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4758. ===
  4759. @Lists: pwin_list
  4760. ----------------
  4761.  
  4762.    PWin
  4763.  
  4764. This is the list of all physical windows in PowerVisor. There is always
  4765. at least one physical window (Main) in this list.
  4766.  
  4767. Simple information ('list'):
  4768.    Physical win name : name of physical window
  4769.    Node              : pointer to this node
  4770.    Window            : pointer to the Intuition window
  4771.    Code              : last code
  4772.    Qualifier         : last qualifier
  4773.  
  4774. Expanded information ('info'):
  4775.    The complete listing of the 'PhysWin' structure (see 'TheWizardCorner'
  4776.    for more info).
  4777.  
  4778. Other help: syslists info_cmd list_cmd base()
  4779.             ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯
  4780. ===
  4781. @¬Error e-6
  4782. Stack overflow !!!
  4783.    PowerVisor detected a stack overflow in another program. The program
  4784.    is halted. You can find a crash node (a node or structure containing
  4785.    information about the crash) in the 'crsh' list.
  4786. ===
  4787. @¬Error e-5
  4788. A program has crashed !!!
  4789.    PowerVisor detected a crash in another program. The program is
  4790.    halted. You can find a crash node (a node or structure containing
  4791.    information about the crash) in the 'crsh' list.
  4792. ===
  4793. @¬Error e-4
  4794. A stack overflow was getting close !
  4795.    There could have been a stack overflow for PowerVisor. Don't worry,
  4796.    everything is nicely cleaned up.
  4797.    Stack checking occurs in the expression evaluator and in the
  4798.    command parser.
  4799. ===
  4800. @¬Error e-3
  4801. You should never be able to see this line. Do you see me ? Then something
  4802. is astray.
  4803. ===
  4804. @¬Error e-2
  4805. Break...
  4806.    You have interrupted some command. Nothing to worry about
  4807. ===
  4808. @¬Error e-1
  4809. PowerVisor has crashed ! Normally this could not happen. Try to see what
  4810. is wrong and make a bug report if you think you have not caused the crash
  4811. yourselves.
  4812. ===
  4813. @¬Error e0
  4814. There is no error !
  4815. ===
  4816. @¬Error e1
  4817. Not enough memory !
  4818.    You have not enough memory to do something. Free some memory and
  4819.    try again.
  4820. ===
  4821. @¬Error e2
  4822. Syntax Error !
  4823.    You typed a command that powervisor did not understand, or some
  4824.    of your arguments are badly formed.
  4825. ===
  4826. @¬Error e3
  4827. This is not a device created with OpenDev !
  4828.    You can only use the 'devcmd' and 'devinfo' commands with devices
  4829.    opened with the 'opendev' command.
  4830. ===
  4831. @¬Error e4
  4832. Bad list element type !
  4833.    The operation you want to do does not work for the current list.
  4834.    For example: you cannot use named shortcuts for the elements
  4835.    in the 'lock' list. You must use the node address.
  4836. ===
  4837. @¬Error e5
  4838. Variable is a constant !
  4839.    You wanted to assign a value to a constant variable (eg 'version').
  4840.    This is of course not possible.
  4841. ===
  4842. @¬Error e6
  4843. Only <B>yte, <W>ord or <L>ong !
  4844.    You can only use .B (byte) .W (word) or .L (long) with the contents
  4845.    operator (case is not important).
  4846. ===
  4847. @¬Error e7
  4848. Odd address error !
  4849.    You tried to read a word or long from an odd address with the
  4850.    contents operator. Even though your processor (68020/30/40) may
  4851.    support this, PowerVisor won't allow you to do this to remain compatible
  4852.    with the 68000 processor.
  4853. ===
  4854. @¬Error e8
  4855. Could not Lock!
  4856.    The argument you gave to 'curdir' is not a valid filename or
  4857.    subdirectory name.
  4858. ===
  4859. @¬Error e9
  4860. Bracket '(' expected !
  4861.    Functions and library functions need an opening bracket for
  4862.    their argument list, even if they have no arguments. Note that
  4863.    the left bracket must IMMEDIATELLY follow the function name, no
  4864.    spaces are allowed.
  4865. ===
  4866. @¬Error e10
  4867. To many arguments for library function !
  4868.    The number of arguments to a library function is fixed. You
  4869.    must close the argument list with a bracket ')'.
  4870. ===
  4871. @¬Error e11
  4872. Missing operand !
  4873.    The command expected another argument but you did not supply it.
  4874. ===
  4875. @¬Error e12
  4876. Lock is not a subdirectory !
  4877.    The filename you gave to 'curdir' is not a subdirectory but a file.
  4878. ===
  4879. @¬Error e13
  4880. Error while opening device !
  4881.    The 'opendev' command failed (or some other command opening a device
  4882.    (like 'stack')).
  4883.    Maybe because the device does not exist, or you gave illegal
  4884.    arguments to the device.
  4885. ===
  4886. @¬Error e14
  4887. Unknown list element !
  4888.    PowerVisor does not know the list you gave as an argument for 'list'.
  4889.    Type 'help syslists' for a list of all available lists.
  4890. ===
  4891. @¬Error e15
  4892. Not implemented yet !
  4893.    You tried something that does not work yet.
  4894.    Maybe for a future version of PowerVisor.
  4895. ===
  4896. @¬Error e16
  4897. Unknown mode argument !
  4898.    The argument you gave to 'mode' is unknown to PowerVisor.
  4899.    Type 'help mode_cmd' for more info about mode.
  4900. ===
  4901. @¬Error e17
  4902. Unknown AddFunc argument !
  4903.    The argument you gave to 'addfunc' is unknown to PowerVisor.
  4904.    Type 'help addfunc_cmd' for more info about addfunc.
  4905. ===
  4906. @¬Error e18
  4907. This is not a process !
  4908.    The command needs a process, but you gave it something else.
  4909.    'curdir' needs a process and not a task as its first argument.
  4910.    'hunks' only works with a process.
  4911.    You can only load symbols for a debug process.
  4912. ===
  4913. @¬Error e19
  4914. Node is not a task or process !
  4915.    The command needs a process or a task, but you gave it something else.
  4916.    Here are some of the commands that need a process or task:
  4917.       'regs', 'freeze', 'unfreeze', 'kill' and 'debug'.
  4918. ===
  4919. @¬Error e20
  4920. This task is not freezed !
  4921.    You can't unfreeze a task that isn't freezed.
  4922. ===
  4923. @¬Error e21
  4924. This task is already freezed !
  4925.    You can't freeze a freezed task.
  4926. ===
  4927. @¬Error e22
  4928. Node type is wrong !
  4929.    You try a command that expects a specific node and it finds that
  4930.    this node is not a good one.
  4931.    This error can be caused by one of the following commands:
  4932.       'remfunc' when you give something other than a 'function' node.
  4933.       'unloadfd' when you give something other than a 'fd-file' node.
  4934.       'remcrash' when you give something other than a 'crash' node.
  4935.       'remattach' when you give something other than a 'keyattach'
  4936.          node.
  4937. ===
  4938. @¬Error e23
  4939. Addressed element not found !
  4940.    PowerVisor really does not know what to do with your string or name
  4941.    you gave on the commandline. It is not a variable, not a symbol for
  4942.    the current debug task and not an abbreviation of a list element in
  4943.    the current list.
  4944. ===
  4945. @¬Error e24
  4946. Window is not sizeable !
  4947.    You can't size a physical window if it is a backdrop window (like
  4948.    the PowerVisor window is by default).
  4949. ===
  4950. @¬Error e25
  4951. This is no supported library function !
  4952.    You tried 'libinfo' on a library function that does not exist.
  4953.    Or 'addfunc' complains about the fact that the library function
  4954.    does not exist.
  4955.    Check all the loaded fd-files.
  4956. ===
  4957. @¬Error e26
  4958. No help available for this subject !
  4959.    'help' does not know what you are talking about.
  4960. ===
  4961. @¬Error e27
  4962. Error while opening file !
  4963.    PowerVisor could not open a file.
  4964.    This error can be caused by one of the following commands:
  4965.       'load', 'save', 'loadfd', 'symbol l', 'script', 'addstruct', ...
  4966. ===
  4967. @¬Error e28
  4968. Error while reading file !
  4969.    PowerVisor could not read from a file.
  4970. ===
  4971. @¬Error e29
  4972. Not a resident module !
  4973.    You tried to use 'remres' on something that is no resident module.
  4974.    All resident modules are in the 'resm' list.
  4975. ===
  4976. @¬Error e30
  4977. Not a lock !
  4978.    You cannot unlock something that is not a lock. Also 'pathname'
  4979.    does not like unlocking tasks or something.
  4980. ===
  4981. @¬Error e31
  4982. Bad History value (2..1000)
  4983.    The history value must be something between 2 and 1000.
  4984. ===
  4985. @¬Error e32
  4986. Error opening trackdisk device !
  4987.    The 'wblock' or 'rblock' commands could not open the trackdisk.device.
  4988. ===
  4989. @¬Error e33
  4990. DoIO returned with a non zero value !
  4991.    There was an error for DoIO. ('rblock' command).
  4992. ===
  4993. @¬Error e34
  4994. There is no task to debug !
  4995.    You tried a debug command without a debug task. Load a debug task
  4996.    with 'debug'.
  4997. ===
  4998. @¬Error e35
  4999. Unknown argument for trace !
  5000.    The argument you gave is unknown to the mighty 'trace' command.
  5001.    Please rethink your request or type 'help trace_cmd' for more info.
  5002. ===
  5003. @¬Error e36
  5004. Unknown argument for debug !
  5005.    The argument you gave is unknown to the 'debug' command.
  5006. ===
  5007. @¬Error e37
  5008. Address is in ROM ! Can't set breakpoint !
  5009.    You cannot put a breakpoint in ROM. You can avoid this problem by
  5010.    using one of the 'trace' commands. Some of them allow you to
  5011.    set pseudo breakpoints in ROM.
  5012. ===
  5013. @¬Error e38
  5014. Not a debug node !
  5015.    When you want to do something with a debug node, you must do it
  5016.    with a debug node.
  5017. ===
  5018. @¬Error e39
  5019. Bad '@' argument
  5020.    The argument you give to the '@' operator (special_op) is malformed
  5021.    or something.
  5022.    You must use a valid register specification.
  5023.    Type 'help special_op' for more info.
  5024. ===
  5025. @¬Error e40
  5026. LoadSeg error !
  5027.    PowerVisor could not load the program. You probably mistyped the name.
  5028.    Or there is not enough memory to load the program.
  5029. ===
  5030. @¬Error e41
  5031. Unknown argument for dmode !
  5032.    The argument you gave is unknown to the 'prefs dmode' command.
  5033. ===
  5034. @¬Error e42
  5035. There is no current debug task !
  5036.    You tried a debug command without a debug task.
  5037.    You must first load a debug task with 'debug' or set the
  5038.    current debug task with 'duse'.
  5039. ===
  5040. @¬Error e43
  5041. Unknown argument for break !
  5042.    The argument you gave is unknown to the 'break' command.
  5043. ===
  5044. @¬Error e44
  5045. Breakpoint does not exist !
  5046.    You try to clear a nonexisting breakpoint.
  5047. ===
  5048. @¬Error e45
  5049. There are no symbol hunks !
  5050.    You try to load symbol hunks for a program without symbol hunks.
  5051. ===
  5052. @¬Error e46
  5053. Symbol not found !
  5054.    You get this errormessage if you try to remove a nonexisting symbol.
  5055. ===
  5056. @¬Error e47
  5057. You can only remove variables !
  5058.    You should not remove constants, functions and special variables.
  5059. ===
  5060. @¬Error e48
  5061. You can not assign to a function !
  5062.    You can't assign to a function. Note that functions and variables
  5063.    are internally the same. This means that you can't have a variable
  5064.    and a function with the same name.
  5065. ===
  5066. @¬Error e49
  5067. You must use brackets with functions !
  5068.    A function wants brackets, even if there are no arguments.
  5069. ===
  5070. @¬Error e50
  5071. Unknown argument for symbol !
  5072.    The argument you gave to 'symbol' is unknown.
  5073. ===
  5074. @¬Error e51
  5075. There are no symbols !
  5076.    There are no symbols. ('symbol s')
  5077. ===
  5078. @¬Error e52
  5079. You can only realloc blocks smaller than 64K !
  5080.    Use the 'realloc' function only for memory block smaller than
  5081.    64K.
  5082. ===
  5083. @¬Error e53
  5084. Your brackets are really out of order !
  5085.    You seem to have done something wrong with your brackets.
  5086. ===
  5087. @¬Error e54
  5088. The debug task is busy, please try again later !
  5089.    You cannot trace when you are already tracing. Also, before you 'quit'
  5090.    or try to remove the debug task, you should stop the tracing.
  5091. ===
  5092. @¬Error e55
  5093. The task is not tracing !
  5094.    You cannot stop the tracing if the task is not tracing.
  5095. ===
  5096. @¬Error e56
  5097. File does not have the right format !
  5098.    You must use a 'pvsd' file for the 'addstruct' command.
  5099.    These files are made by 'mstruct' (external utility).
  5100. ===
  5101. @¬Error e57
  5102. This is not a structure definition !
  5103.    You must use structure definitions (in the 'stru' list) with
  5104.    commands like 'interprete' and 'remstruct'.
  5105. ===
  5106. @¬Error e58
  5107. Bad argument value !
  5108.    You must use acceptable values for the 'prefs debug' (and other) commands.
  5109. ===
  5110. @¬Error e59
  5111. No colorchange allowed when PowerVisor is on a window !
  5112.    Only use the 'color' command when PowerVisor is on it's
  5113.    own screen.
  5114. ===
  5115. @¬Error e60
  5116. Could not open font !
  5117.    PowerVisor could not open the font. Maybe it is not in the 'fonts:'
  5118.    directory ?
  5119. ===
  5120. @¬Error e61
  5121. Can't execute script file in script file !
  5122.    Recursive script executing is not allowed.
  5123. ===
  5124. @¬Error e62
  5125. Refresh window is not open !
  5126.    You tried to use the 'refresh' command before you opened the 'refresh'
  5127.    window. Use 'rwin' to do this.
  5128. ===
  5129. @¬Error e63
  5130. Unknown tag type !
  5131.    The tag type you used with 'AddTag' is invalid (use ba,wa,la,st or as).
  5132. ===
  5133. @¬Error e64
  5134. No output allowed on debug logical window !
  5135.    You cannot use the 'on' or 'current' commands for the 'debug' logical
  5136.    window. The 'debug' logical window only receives output from the
  5137.    full screen debugger.
  5138. ===
  5139. @¬Error e65
  5140. Error writing file !
  5141.    Error while writing to file !
  5142. ===
  5143. @¬Error e66
  5144. Not a Tag file !
  5145.    This file is not a tag definition file !
  5146. ===
  5147. @¬Error e67
  5148. Bad tag list value (0 .. 15) !
  5149.    PowerVisor only supports 16 tag lists (0 .. 15).
  5150. ===
  5151. @¬Error e68
  5152. Unknown or invalid register !
  5153.    PowerVisor does not know this register. You can only use :
  5154.    d0,...,d7,a0,...,a6 or sp (and sometimes pc).
  5155. ===
  5156. @¬Error e69
  5157. There is a more recent patch then this one installed !
  5158.    You can't remove this patch. You must first remove the more recent
  5159.    one. Note that there may be other programs patching library functions.
  5160. ===
  5161. @¬Error e70
  5162. There is no fd file loaded for this library !
  5163.    You can't use 'libfunc' when there is no fd file loaded for the
  5164.    library.
  5165. ===
  5166. @¬Error e71
  5167. Unknown logical window !
  5168.    I don't know about this logical window. Note that you must
  5169.    give the logical window name in full for the 'prefs logwin'
  5170.    command.
  5171. ===
  5172. @¬Error e72
  5173. Resulting commandline too long after converting from alias string !
  5174.    While the alias line is converted we got an overflow. Either increase
  5175.    the maximum linelength (with 'prefs linelen'), decrease what you
  5176.    type on the commandline or make the alias shorter.
  5177. ===
  5178. @¬Error e73
  5179. Missing left bracket '(' in fd file !
  5180.    Where is the left bracket that should come after the function name ?
  5181. ===
  5182. @¬Error e74
  5183. Missing right bracket ')' in fd file !
  5184.    Where is the right bracket that should come somewhere after the
  5185.    function name ?
  5186. ===
  5187. @¬Error e75
  5188. Bad '##bias' statement in fd file !
  5189.    The ##bias statement in the fd-file is bad since it refered to a
  5190.    function entry that is already used.
  5191. ===
  5192. @¬Error e76
  5193. You can't close the 'Main' physical window !
  5194.    Well, you really can't do that.
  5195. ===
  5196. @¬Error e77
  5197. You can't close the 'Main' logical window !
  5198.    Sorry, but if you really want you can close another logical window
  5199.    instead.
  5200. ===
  5201. @¬Error e78
  5202. Bad argument for 'openlw' ! Arg must be one of 'r','l','d' or 'u' !
  5203.    The direction argument for the new logical window is wrong. It must
  5204.    be one of u,d,r or l preceded with an arbitrarily number of p's.
  5205. ===
  5206. @¬Error e79
  5207. Brother logical window must be on same physical window !
  5208.    No, you really can't open a logical window on one physical window with
  5209.    the brother on another physical window. That's like having a brother
  5210.    on Mars.
  5211. ===
  5212. @¬Error e80
  5213. Window is not movable !
  5214.    The physical window is like a brick. You can't move it. This is because
  5215.    the physical window is a backdrop window.
  5216. ===
  5217. @¬Error e81
  5218. There is no father for this box !
  5219.    You used the p (parent) direction argument to 'openlw' but there is
  5220.    no parent for the logical window you choose as a brother.
  5221. ===
  5222. @¬Error e82
  5223. Unknown preferences argument !
  5224.    I don't know the preference argument you gave to the 'prefs' command.
  5225.    See the 'prefs' command for more info.
  5226. ===
  5227. @¬Error e83
  5228. Please close visitor windows first !
  5229.    Before you can quit PowerVisor or before you can change some screen
  5230.    attributes you must make sure that there are no visitor windows
  5231.    opened on the PowerVisor public screen.
  5232. ===
  5233. @¬Error e84
  5234. Divide by zero !
  5235.    You tried to divide by zero.
  5236. ===
  5237. @¬Error e85
  5238. No group operators allowed for the debug task !
  5239.    You can't use group operators in expressions used for conditional
  5240.    tracing or conditional breakpoints.
  5241. ===
  5242. @¬Error e86
  5243. Error opening screen !
  5244.    PowerVisor could not open the screen.
  5245. ===
  5246. @¬Error e87
  5247. You can't remove the 'rc' and 'error' variables. These are private !
  5248.    This is fairly obvious.
  5249. ===
  5250. @¬Error e88
  5251. 'LoadSeg' failed !
  5252.    'Resident' did not succeed in loading the executable file.
  5253. ===
  5254. @¬Error e89
  5255. Variable names must start with a letter or an underscore !
  5256.    You used assignment with an illegal object left of the '=' operator.
  5257.    Only variables, the contents operator ('*') and the special operator
  5258.    ('@') are allowed.
  5259. ===
  5260. @¬Error e90
  5261. Error opening physical window !
  5262.    Not enough memory or no more signals to open the physical window.
  5263. ===
  5264. @¬Error e91
  5265. Error opening logical window !
  5266.    Not enough memory to open the logical window.
  5267. ===
  5268. @¬Error e92
  5269. Bracket ')' expected !
  5270.    You must always close all brackets with expressions.
  5271. ===
  5272. @¬Error e93
  5273. Bracket '}' expected !
  5274.    You must always close all curly brackets with groups.
  5275. ===
  5276. @¬Error e94
  5277. Bus error !
  5278.    One of your debug tasks is halted because of a bus error.
  5279. ===
  5280. @¬Error e95
  5281. Address error !
  5282.    One of your debug tasks is halted because of an address error.
  5283. ===
  5284. @¬Error e96
  5285. Illegal instruction !
  5286.    One of your debug tasks is halted because it executed an illegal
  5287.    instruction.
  5288. ===
  5289. @¬Error e97
  5290. Division by zero !
  5291.    One of your debug tasks is halted because it tried to divide by zero.
  5292. ===
  5293. @¬Error e98
  5294. CHK instruction !
  5295.    One of your debug tasks is halted because it tried to execute a CHK
  5296.    instruction.
  5297. ===
  5298. @¬Error e99
  5299. TRAPV instruction !
  5300.    One of your debug tasks is halted because it tried to execute a TRAPV
  5301.    instruction.
  5302. ===
  5303. @¬Error e100
  5304. Privilege Violation !
  5305.    One of your debug tasks is halted because it tried to execute a
  5306.    priviledged instruction.
  5307. ===
  5308. @¬Error e101
  5309. Trace error !
  5310.    This should never occur. One of your debug tasks is halted because
  5311.    it enable trace mode.
  5312. ===
  5313. @¬Error e102
  5314. Unimplemented 1010 opcode !
  5315.    One of your debug tasks is halted because it tried to execute an
  5316.    unimplemented 1010 instruction.
  5317. ===
  5318. @¬Error e103
  5319. Unimplemented 1111 opcode !
  5320.    One of your debug tasks is halted because it tried to execute an
  5321.    unimplemented 1111 instruction.
  5322. ===
  5323. @¬t exec_tmp
  5324. Exec
  5325. ===
  5326. @¬t intb_tmp
  5327. INTb
  5328. ===
  5329. @¬t task_tmp
  5330. Task
  5331. ===
  5332. @¬t libs_tmp
  5333. LIBs
  5334. ===
  5335. @¬t devs_tmp
  5336. DEvs
  5337. ===
  5338. @¬t reso_tmp
  5339. RESO
  5340. ===
  5341. @¬t memr_tmp
  5342. MEMR
  5343. ===
  5344. @¬t intr_tmp
  5345. INTR
  5346. ===
  5347. @¬t port_tmp
  5348. Port
  5349. ===
  5350. @¬t wins_tmp
  5351. Wins
  5352. ===
  5353. @¬t attc_tmp
  5354. ATTC
  5355. ===
  5356. @¬t graf_tmp
  5357. GRaf
  5358. ===
  5359. @¬t conf_tmp
  5360. COnf
  5361. ===
  5362. @¬t scrs_tmp
  5363. SCrs
  5364. ===
  5365. @¬t font_tmp
  5366. FOnt
  5367. ===
  5368. @¬t dosd_tmp
  5369. DOsd
  5370. ===
  5371. @¬t func_tmp
  5372. FUnc
  5373. ===
  5374. @¬t sema_tmp
  5375. SEMa
  5376. ===
  5377. @¬t resm_tmp
  5378. RESm
  5379. ===
  5380. @¬t fils_tmp
  5381. FILS
  5382. ===
  5383. @¬t lock_tmp
  5384. LOck
  5385. ===
  5386. @¬t ihan_tmp
  5387. IHan
  5388. ===
  5389. @¬t fdfi_tmp
  5390. FDfi
  5391. ===
  5392. @¬t crsh_tmp
  5393. CRsh
  5394. ===
  5395. @¬t dbug_tmp
  5396. DBug
  5397. ===
  5398. @¬t moni_tmp
  5399. MONi
  5400. ===
  5401. @¬t pubs_tmp
  5402. PUbs
  5403. ===
  5404. @¬t stru_tmp
  5405. STru
  5406. ===
  5407. @¬t lwin_tmp
  5408. LWin
  5409. ===
  5410. @¬t pwin_tmp
  5411. PWin
  5412. ===
  5413. @¬t help_tmp
  5414. Help [<topic>]
  5415. ===
  5416. @¬t pvcall_tmp
  5417. <result> <- PVcall <number> [<arguments>]
  5418. ===
  5419. @¬t prefs_tmp
  5420. PREfs ('history' | 'key' | 'startup' | 'window' | 'screen' | 'stack' |
  5421.       'logwin' | 'linelen' | 'debug' | 'dmode' | 'pens' | 'font')
  5422.       [<arguments> ...]
  5423. ===
  5424. @¬t event_tmp
  5425. EVent <class> <subclass> <code> <qualifier> <x> <y>
  5426. ===
  5427. @¬t owner_tmp
  5428. OWNer <address>
  5429. ===
  5430. @¬t speek_tmp
  5431. <value> <- SPEEk <address>
  5432. ===
  5433. @¬t saveconfig_tmp
  5434. SAVEConfig
  5435. ===
  5436. @¬t spoke_tmp
  5437. SPOke <address> <value>
  5438. ===
  5439. @¬t mmutree_tmp
  5440. MMutree
  5441. ===
  5442. @¬t mmureset_tmp
  5443. MMURESet
  5444. ===
  5445. @¬t mmuregs_tmp
  5446. MMURegs
  5447. ===
  5448. @¬t openlw_tmp
  5449. RC,<lwin> <- OPENLw <physical window> <logwin name> <cols> <rows>
  5450.              [<brother> <where> [<number of columns or lines>]]
  5451. ===
  5452. @¬t openpw_tmp
  5453. RC,<pwin> <- OPENPw <physical window name> <x> <y> <w> <y>
  5454. ===
  5455. @¬t closepw_tmp
  5456. CLOSEPw <physical window>
  5457. ===
  5458. @¬t closelw_tmp
  5459. CLOSELw <logical window>
  5460. ===
  5461. @¬t setflags_tmp
  5462. RC,<oldflags> <- SETFLags <logical window> <mask> <flags>
  5463. ===
  5464. @¬t mmurtest_tmp
  5465. MMURTest <address>
  5466. ===
  5467. @¬t mmuwtest_tmp
  5468. MMUWtest <address>
  5469. ===
  5470. @¬t specregs_tmp
  5471. SPecregs
  5472. ===
  5473. @¬t setfont_tmp
  5474. SETfont <logical window> <fontname> <fontheight>
  5475. ===
  5476. @¬t colrow_tmp
  5477. COLRow <logical window> <columns> <rows>
  5478. ===
  5479. @¬t view_tmp
  5480. VIew [<address> [<bytes>]]
  5481. ===
  5482. @¬t addtag_tmp
  5483. ADDTag <address> <bytes> <type> [<structure>]
  5484. ===
  5485. @¬t loadtags_tmp
  5486. LOADTags <file> <base>
  5487. ===
  5488. @¬t savetags_tmp
  5489. SAVETags <file> <base>
  5490. ===
  5491. @¬t cleartags_tmp
  5492. CLEARTags
  5493. ===
  5494. @¬t remtag_tmp
  5495. REMTag <address>
  5496. ===
  5497. @¬t tags_tmp
  5498. TAGs
  5499. ===
  5500. @¬t checktag_tmp
  5501. <bytes remaining> <- CHecktag <address>
  5502. ===
  5503. @¬t usetag_tmp
  5504. USetag <number>
  5505. ===
  5506. @¬t tg_tmp
  5507. TG <number> <command>
  5508. ===
  5509. @¬t interprete_tmp
  5510. INTErprete <structure pointer> <struct def pointer>
  5511. ===
  5512. @¬t clearstruct_tmp
  5513. CLEARStruct
  5514. ===
  5515. @¬t addstruct_tmp
  5516. ADDStruct <filename>
  5517. ===
  5518. @¬t assign_tmp
  5519. ASsign <assignment string>
  5520. ===
  5521. @¬t string_tmp
  5522. <string> <- STRIng <string pointer>
  5523. ===
  5524. @¬t rx_tmp     (Commandline and scripts only)
  5525. RX <file name>
  5526. ===
  5527. @¬t remstruct_tmp
  5528. REMStruct <struct def pointer>
  5529. ===
  5530. @¬t for_tmp
  5531. FOR <listname> <command>
  5532. ===
  5533. @¬t llist_tmp
  5534. LList <node> ['start']
  5535. ===
  5536. @¬t vars_tmp
  5537. VArs ['all']
  5538. ===
  5539. @¬t remvar_tmp
  5540. REMVar {<variables>}
  5541. ===
  5542. @¬t alias_tmp
  5543. ALias [<alias command> <alias string>]
  5544. ===
  5545. @¬t error_tmp
  5546. <pointer to error string> <- ERror <error number>
  5547. ===
  5548. @¬t unalias_tmp
  5549. UNALias <alias command>
  5550. ===
  5551. @¬t hold_tmp
  5552. HOld
  5553. ===
  5554. @¬t quit_tmp
  5555. Quit
  5556. ===
  5557. @¬t gadgets_tmp
  5558. Gadgets <window>
  5559. ===
  5560. @¬t size_tmp
  5561. SIze <physical window> <w> <h>
  5562. ===
  5563. @¬t move_tmp
  5564. MOVe <physical window> <x> <y>
  5565. ===
  5566. @¬t screen_tmp
  5567. SCREen [<screen>]
  5568. ===
  5569. @¬t remres_tmp
  5570. REMRes <resident pointer>
  5571. ===
  5572. @¬t resident_tmp
  5573. RC,<Pointer to code> <- RESIdent [<filename>]
  5574. ===
  5575. @¬t unresident_tmp
  5576. UNResident <Pointer to code>
  5577. ===
  5578. @¬t clip_tmp
  5579. [RC,<Pointer to data>] <- CLIp <Clip name> [<Pointer to data> <Length>]
  5580. ===
  5581. @¬t remclip_tmp
  5582. REMCLip <Clip name>
  5583. ===
  5584. @¬t remove_tmp
  5585. <node> <- REMOve <node>
  5586. ===
  5587. @¬t curdir_tmp
  5588. CUrdir <process> <directory name>
  5589. ===
  5590. @¬t clear_tmp
  5591. CLEar [<value>]
  5592. ===
  5593. @¬t active_tmp
  5594. Active <logwin>
  5595. ===
  5596. @¬t scroll_tmp
  5597. SCROll <logwin> <x> <y>
  5598. ===
  5599. @¬t current_tmp
  5600. CURRent <logical window>
  5601. ===
  5602. @¬t on_tmp
  5603. ON <logical window> <command>
  5604. ===
  5605. @¬t cls_tmp
  5606. CLs
  5607. ===
  5608. @¬t led_tmp
  5609. LEd
  5610. ===
  5611. @¬t load_tmp
  5612. <bytes loaded> <- LOAd <filename> <start> [<max bytes>]
  5613. ===
  5614. @¬t save_tmp
  5615. <bytes written> <- SAve <filename> <start> <bytes>
  5616. ===
  5617. @¬t regs_tmp
  5618. REGs <task>|<crash node>|<debug node>
  5619. ===
  5620. @¬t print_tmp
  5621. PRint <string>
  5622. ===
  5623. @¬t sprint_tmp
  5624. SPRint <string>
  5625. ===
  5626. @¬t locate_tmp
  5627. LOCAte <x> [<y>]
  5628. ===
  5629. @¬t home_tmp
  5630. HOMe
  5631. ===
  5632. @¬t showalloc_tmp
  5633. SHowalloc
  5634. ===
  5635. @¬t cleanup_tmp
  5636. CLEANup
  5637. ===
  5638. @¬t color_tmp
  5639. COLor <col num> <red> <green> <blue>
  5640. ===
  5641. @¬t request_tmp
  5642. <result> <- REQuest <body string> <gadget string> <argument>
  5643. ===
  5644. @¬t reqload_tmp
  5645. INPUT,<ptr to filename> <- REQLoad <title>
  5646. ===
  5647. @¬t reqsave_tmp
  5648. INPUT,<ptr to filename> <- REQSave <title>
  5649. ===
  5650. @¬t getstring_tmp
  5651. INPUT,<ptr to inputline> <- GEtstring <title> <max number of chars>
  5652. ===
  5653. @¬t scan_tmp
  5654. INPUT,<pointer to inputline> <- SCAn [<number>]
  5655. ===
  5656. @¬t disp_tmp
  5657. <value of expression> <- Disp <expression>
  5658. ===
  5659. @¬t refresh_tmp
  5660. Refresh [<refresh rate> <command>]
  5661. ===
  5662. @¬t fit_tmp
  5663. FIT <logical window>
  5664. ===
  5665. @¬t awin_tmp
  5666. AWin [<number of lines>]
  5667. ===
  5668. @¬t owin_tmp
  5669. OWin [<number of lines>]
  5670. ===
  5671. @¬t rwin_tmp
  5672. RWin [<number of lines>]
  5673. ===
  5674. @¬t xwin_tmp
  5675. Xwin [<number of lines>]
  5676. ===
  5677. @¬t dwin_tmp
  5678. DWin [<number of lines>]
  5679. ===
  5680. @¬t mode_tmp
  5681. MOde <mode argument> {<mode argument>...}
  5682. ===
  5683. @¬t copy_tmp
  5684. Copy <source> <destination> <bytes>
  5685. ===
  5686. @¬t fill_tmp
  5687. Fill <dest> <bytes> <with>
  5688. ===
  5689. @¬t search_tmp
  5690. RC,<address> <- Search <start> <bytes> <string>
  5691. ===
  5692. @¬t next_tmp
  5693. RC,<address> <- Next
  5694. ===
  5695. @¬t stack_tmp
  5696. STAck [<task> <micro seconds>]
  5697. ===
  5698. @¬t account_tmp
  5699. ACCount
  5700. ===
  5701. @¬t kill_tmp
  5702. Kill <task>|<crash node>
  5703. ===
  5704. @¬t freeze_tmp
  5705. FReeze <task>
  5706. ===
  5707. @¬t unfreeze_tmp
  5708. UNFreeze <task>
  5709. ===
  5710. @¬t addfunc_tmp
  5711. RC,<func node> <- ADdfunc (<libfuncname> | 'offs' <library> <offset>)
  5712.                   ['only' <task>] [<type> [<command>]]
  5713. ===
  5714. @¬t remfunc_tmp
  5715. REMfunc <function monitor node>
  5716. ===
  5717. @¬t unasm_tmp
  5718. Unasm [<start> [<instructions>]]
  5719. ===
  5720. @¬t libinfo_tmp
  5721. LIBInfo <library function name>
  5722. ===
  5723. @¬t libfunc_tmp
  5724. LIBFunc <library> <offset>
  5725. ===
  5726. @¬t list_tmp
  5727. List [<list>]
  5728. ===
  5729. @¬t memory_tmp
  5730. Memory [<start> [<bytes>]]
  5731. ===
  5732. @¬t info_tmp
  5733. Info <object address> [<list>]
  5734. ===
  5735. @¬t memtask_tmp
  5736. MEMTask <task>
  5737. ===
  5738. @¬t remcrash_tmp
  5739. REMCrash <crash node>
  5740. ===
  5741. @¬t loadfd_tmp
  5742. RC,<number of functions> <- LOADFd <library> <file-name>
  5743. ===
  5744. @¬t unlock_tmp
  5745. UNLOCk <pointer to a lock>
  5746. ===
  5747. @¬t sync_tmp
  5748. SYNc
  5749. ===
  5750. @¬t async_tmp
  5751. ASYnc
  5752. ===
  5753. @¬t hide_tmp
  5754. HIde
  5755. ===
  5756. @¬t unhide_tmp
  5757. UNHide
  5758. ===
  5759. @¬t front_tmp
  5760. FROnt
  5761. ===
  5762. @¬t closewindow_tmp
  5763. CLOsewindow <window>
  5764. ===
  5765. @¬t hunks_tmp
  5766. HUnks <process>
  5767. ===
  5768. @¬t attach_tmp
  5769. <attach node> <- ATtach <command string> <code> <qualifier>
  5770.                  [('e' | 'c') ['+']]
  5771. ===
  5772. @¬t remattach_tmp
  5773. REMAttach <attach node>
  5774. ===
  5775. @¬t closescreen_tmp
  5776. CLOSEScreen <screen>
  5777. ===
  5778. @¬t log_tmp
  5779. LOG [<logical window> <filename>]
  5780. ===
  5781. @¬t to_tmp
  5782. TO <file> <command>
  5783. ===
  5784. @¬t taskpri_tmp
  5785. TASKPri <task ptr> <priority>
  5786. ===
  5787. @¬t pathname_tmp
  5788. PAthname <lock>
  5789. ===
  5790. @¬t unloadfd_tmp
  5791. UNLoadfd <fd-file node>
  5792. ===
  5793. @¬t script_tmp
  5794. <result> <- SCRIpt <script file> [<commandline>]
  5795. ===
  5796. @¬t dscroll_tmp
  5797. DScroll <offset>
  5798. ===
  5799. @¬t dstart_tmp
  5800. DSTart <address>
  5801. ===
  5802. @¬t debug_tmp
  5803. RC <- DEBug 'n' | 'l' <filename> | 't' <task node> | ('r'|'f')
  5804.              [<debug node>] | 'd' <name>
  5805. ===
  5806. @¬t drefresh_tmp
  5807. DRefresh
  5808. ===
  5809. @¬t duse_tmp
  5810. DUse <debug node>
  5811. ===
  5812. @¬t with_tmp
  5813. WITh <debug node> <command>
  5814. ===
  5815. @¬t trace_tmp
  5816. TRace [ 'n' <number> | 'b' | 'r' <register> | 'u'['t'] <address>
  5817.       | 'o'['t'] | 'c' <condition> | 's' | 'g'['t'] | 'h' | 'f'
  5818.       | 't' | 'j' ]
  5819. ===
  5820. @¬t break_tmp
  5821. RC <- Break ('a'|'c'|'n'|'t'|'p'|'r') <address> [<condition>|<timeout>]
  5822. ===
  5823. @¬t symbol_tmp
  5824. SYmbol 'l' <filename> [<hunkaddress>] | 'c' | 'a' <symbol> <value> |
  5825.        'r' <symbol> | 's'
  5826. ===
  5827. @¬t rblock_tmp
  5828. RC,<address> <- RBlock <Unit number> <block number> [<address>]
  5829. ===
  5830. @¬t void_tmp
  5831. <result> <- Void {<argument>...}
  5832. ===
  5833. @¬t wblock_tmp
  5834. WBlock <Unit number> <block number> <address>
  5835. ===
  5836. @¬t opendev_tmp
  5837. RC,<pvdevice> <- Opendev <device name> [<unit> [<flags>]]
  5838. ===
  5839. @¬t closedev_tmp
  5840. CLOSEDev <device block>
  5841. ===
  5842. @¬t devinfo_tmp
  5843. DEVInfo <device block>
  5844. ===
  5845. @¬t devcmd_tmp
  5846. RC <- DEVCmd <dev> <command> [<flags> [<length> [<data> [<offset>]]]]
  5847. ===
  5848. @¬t remhand_tmp
  5849. REMHand <input handler>
  5850. ===
  5851. @¬t go_tmp
  5852. <result> <- GO <address> [<commandline>]
  5853. ===
  5854. @Help bugs
  5855. ---------
  5856. Bugs
  5857.  
  5858.    symbols        I think something is wrong with symbols because some
  5859.                   people reported strange behaviour. I can't find the
  5860.                   bug, so maybe it was caused by something else. Maybe
  5861.                   the bug is even solved :-)
  5862.    locks          Break... is not printed when we interrupt the lock listing
  5863.                   This harmless bug is a replacement for a memory loosing
  5864.                   bug. I prefer this bug :-)
  5865.    Stack overflow There seem to be some problems with 'killing' a task
  5866.                   that has crashed because of a stack overflow
  5867.                   ('account' command). The solution is of course not to
  5868.                   kill the program :-) PowerVisor has halted the program
  5869.                   so it will do no more (!) harm
  5870.    Debugging      Debugging (with 'debug l' and 'debug n') often causes
  5871.                   little memory loss. I know the reason so this will get
  5872.                   fixed very soon
  5873.  
  5874. Bugs for AmigaDOS 1.2/1.3 version of PowerVisor only
  5875.  
  5876.    cursor         The cursor in the stringgadget sometimes disappears in
  5877.                   the AmigaDOS 1.2/1.3 version of PowerVisor (this happens
  5878.                   the first time you use the <up> key to go in history)
  5879.    stringgadget   I know of no way to unactivate a stringgadget in AmigaDOS
  5880.                   1.3 and older. Therefore cycling through the windows
  5881.                   with <tab> is not enough to deactivate the stringgadget.
  5882.                   You will have to press <enter> first (or click next to
  5883.                   the stringgadget) before you can press the key (with
  5884.                   -MORE- or -HALT-)
  5885.  
  5886. Things that could be better and maybe should be supported
  5887.  
  5888.    mmu            'mmutree' does not support indirect pages and 8 byte
  5889.                   descriptors
  5890.                   'mmutree' does not support FC trees (function codes)
  5891.    signals        maybe we should share some signals, we have only five
  5892.                   signals left
  5893.    'mode'         The mode variable is not restored when an error occurs
  5894.                   while assigning to 'mode'
  5895.    disp 1a        should give an error
  5896.    trace u        PowerVisor may disturb other programs if you set your
  5897.                   breakpoint in shared memory
  5898.    free           The Free function should check if the memory you
  5899.                   try to free is OK
  5900.    trace          Tracing is very hazardous for multitasking. You can
  5901.                   scarcely move your mouse
  5902.    crashes        There are still some guru's PowerVisor does not trap
  5903.    crash trapping Address Errors are not recoverable
  5904.    fonts          We should not permit proportional fonts
  5905.    search/copy/fill
  5906.                   These routines are very sensitive to bad arguments
  5907.                   (negative for example)
  5908.    Overflows      Powervisor does not always check for overflow (especially
  5909.                   with string parsing) Make sure that your string are always
  5910.                   smaller than the maximum line length in the stringgadget
  5911.                   (set with 'prefs linelen', default 400)
  5912.  
  5913. Future enhancements (note that these are NOT promises :-)
  5914.  
  5915.    owner          Owner should be expanded to handle more system lists
  5916.    load           Load must have an extra argument : offset to start loading
  5917.    customize      I plan to make a seperate file containing all command
  5918.                   strings, function strings and some other strings. That way
  5919.                   the user will be able to customize PowerVisor by changing
  5920.                   this file. This file will not be resident in memory.
  5921.                   PowerVisor will build internal data structures using this
  5922.                   file
  5923.    pvcall         Instead of only one command for each installable post or
  5924.                   pre command I plan to incorporate a list system (see the
  5925.                   TheWizardCorner file for the 'pvcall' command)
  5926.    mmu            I have been thinking about a very powerful system to
  5927.                   use the mmu for protecting memory. PowerVisor could be
  5928.                   protected from other programs and some extra commands
  5929.                   could be provided to read or write protect regions
  5930.                   of memory
  5931. ===
  5932.